This R Markdown (RMD) file performs exploratory data analysis (EDA) and differential expression (DE) analysis for the 2025 Lin manuscript.
Script Timing Start
ptm <- proc.time()
# adjusted pvalue
qval <- 0.05
pval <- 0.05
lfc <- 1
# Use max of 4 cores if available.
ncore <- ifelse((detectCores()-2)>=4,4,detectCores()-2)
Set.Seed
# This will set the random number generator
set.seed(888)
# output directory
MIB_output <- paste0(Data, "Output/MIB-BL/")
dir.create(paste0(MIB_output))
# Graphs
MIB_graphs <- paste0(Data, "Graphs/MIB-BL/")
dir.create(paste0(MIB_graphs))
# 201006_composite_kinases has 16 extra kinases not originally present in 210706_uniprot... so they were added by hand to match
# 210706_uniprot has 11 kinases not present in 201016_composite but they're not important (sperm motility, pseudogenes, etc. so not adding them to kinases or kinases.anno)
#final number of kinases to proceed: 558
kinases <- read.csv("/Data/Input/MIB-MS/201006_composite_kinases.csv", header = TRUE, fileEncoding="UTF-8-BOM")
kinases.anno <- kinases
kinases.uniprot <- read.csv("/Data/Input/MIB-MS/210706_uniprot_mouse_kinases_with_hEGFR.csv", header = TRUE, fileEncoding="UTF-8-BOM")
kinases.uniprot <- subset(kinases.uniprot, kinases.uniprot$Status=="reviewed")
kinases.anno <- left_join(kinases.anno, kinases.uniprot, by = c("Mouse_symbol" = "gene" ))
setdiff(kinases.uniprot$gene, kinases.anno$Mouse_symbol)
## [1] "Cdk3-ps" "Gm4922" "Gm7168" "Gucy2g" "Ick" "Pak7" "Smok2a"
## [8] "Smok2b" "Smok3a" "Smok3b" "Tssk5"
# kinases.anno and kinases.uniprot are 11 different, but it's okay
kinases.anno <- subset(kinases.anno, kinases.anno$Status=="reviewed")
setdiff(kinases$Mouse_symbol, kinases.anno$Mouse_symbol)
## character(0)
isUnique <- function(vector) {
return(!any(duplicated(vector)))
}
isUnique(kinases$Mouse_symbol)
## [1] TRUE
isUnique(kinases.anno$Mouse_symbol)
## [1] TRUE
# Save Kinase list
write.csv(kinases.anno, paste0(MIB_output,"mouse_kinases_hEGFR_uniprot.csv"), row.names = FALSE)
length(kinases.anno$Mouse_symbol)
## [1] 558
# Import master sequencing datasheet
MIB_samples_all <-
read.csv(
paste0(Data, "Input/MIB-MS/Baseline/240415_mib_sample_sheet_master.csv"),
header = TRUE,
sep = ",",
stringsAsFactors = FALSE
)
# Assign row names
row.names(MIB_samples_all) <- MIB_samples_all$mib_quick_id
# Remove tmt experiment
MIB_samples_all <- MIB_samples_all[!MIB_samples_all$mib_quick_id=="TMT001", ]
# Note that these samples failed MIB analysis per Mike East and the above peptides/sample plot
MIB_samples_all <- MIB_samples_all[!MIB_samples_all$mib_quick_id %in% c("LFQ019", "LFQ026", "LFQ027"), ]
# These samples were run as LFQ and TMT. Remove from this analysis since there is no comparision
MIB_samples_all <- MIB_samples_all[!MIB_samples_all$mib_quick_id %in% c("LFQ058", "LFQ059", "LFQ060", "LFQ061"), ]
# Remove cell lines not part of this experiment
MIB_samples_all <- MIB_samples_all[!MIB_samples_all$cell_line_abbr %in% c("CEv3P", "CP", "CE", "CEv3_MA","S1" ,"GR1","GR7"), ]
# Remove crm_ms_run 2. This was a fail run. All these samples had evidence files regenerated at a later date.
MIB_samples_all <- MIB_samples_all[!MIB_samples_all$crm_ms_run %in% c("2"), ]
# Remove 2017 pilot experiment
MIB_samples_all <- MIB_samples_all[!MIB_samples_all$crm_ms_run %in% c("1"), ]
# Samples for analysis
MIB_samples <- MIB_samples_all
# Convert to factors
MIB_samples$exp_replicate <- as.factor(MIB_samples$exp_replicate )
MIB_samples$cell_line_abbr <- as.factor(MIB_samples$cell_line_abbr )
MIB_samples$prep_batch <- as.factor(MIB_samples$prep_batch )
MIB_samples$serum <- as.factor(MIB_samples$serum )
# Check the samplesheet
str(MIB_samples)
## 'data.frame': 46 obs. of 36 variables:
## $ crm_ms_run : int 3 3 3 3 3 3 3 3 3 3 ...
## $ mib_id : chr "M0025" "M0029" "M0037" "M0039" ...
## $ mib_quick_id : chr "LFQ045" "LFQ042" "LFQ008" "LFQ022" ...
## $ protein_id : chr "P0019" "P0021" "P0025" "P0026" ...
## $ mib_prep_date : logi NA NA NA NA NA NA ...
## $ TMT_label : chr "LFQ" "LFQ" "LFQ" "LFQ" ...
## $ ms_pool_type : chr "LFQ" "LFQ" "LFQ" "LFQ" ...
## $ ms_pool_date : logi NA NA NA NA NA NA ...
## $ ms_pooled_by : logi NA NA NA NA NA NA ...
## $ sample_id : chr "S0043" "S0045" "S0049" "S0050" ...
## $ sample_type : chr "cell_line" "cell_line" "cell_line" "cell_line" ...
## $ time_h : int 0 0 0 0 0 0 0 0 0 0 ...
## $ sample_name : chr "CEv3_E49_13_17" "CEv3_E49_25_17" "CEv3_G89_13_17" "CEv3_G89_18_17" ...
## $ samp_replicate : int 1 3 1 2 3 1 2 3 2 3 ...
## $ expt_id : int 31 37 32 34 38 18 23 28 25 29 ...
## $ expt_type : chr "baseline" "baseline" "baseline" "baseline" ...
## $ serum : Factor w/ 2 levels "full","starve": 1 1 1 1 1 1 1 1 1 1 ...
## $ drug : chr NA NA NA NA ...
## $ drug_conc_uM : int NA NA NA NA NA NA NA NA NA NA ...
## $ exp_replicate : Factor w/ 3 levels "1","2","3": 1 3 1 2 3 1 2 3 2 3 ...
## $ cell_line : chr "CEv3_E4" "CEv3_E4" "CEv3_G8" "CEv3_G8" ...
## $ cell_line_abbr : Factor w/ 8 levels "C","CEv3","E4",..: 3 3 8 8 8 6 6 6 5 5 ...
## $ cl_order : int 10 10 8 8 8 9 9 9 6 6 ...
## $ cl_source : chr "CRM" "CRM" "CRM" "CRM" ...
## $ cl_series : chr "Res" "Res" "Res" "Res" ...
## $ res_type : chr "culture" "culture" "culture" "culture" ...
## $ species : chr "mouse" "mouse" "mouse" "mouse" ...
## $ cell_type : chr "AC" "AC" "AC" "AC" ...
## $ protein_prep_by : chr "MB" "MB" "MB" "MB" ...
## $ raw_file : chr "20180614_SPA_MIBs_RM07.raw" "20180614_SPA_MIBs_RM09.raw" "20180614_SPA_MIBs_RM13.raw" "20180614_SPA_MIBs_RM14.raw" ...
## $ ms_date : int 20180614 20180614 20180614 20180614 20180614 20180614 20190531 20180614 20190531 20190531 ...
## $ full_sample_name : chr "20180614_2018_LFQ_07" "20180614_2018_LFQ_09" "20180614_2018_LFQ_13" "20180614_2018_LFQ_14" ...
## $ prep_batch : Factor w/ 6 levels "2","3","4","5",..: 1 1 1 1 1 1 2 1 2 2 ...
## $ resistance : chr "Y" "Y" "Y" "Y" ...
## $ resistance_culture: chr "in_vitro" "in_vitro" "in_vitro" "in_vitro" ...
## $ resistance_drug : chr "erlotinib" "erlotinib" "gefitinib" "gefitinib" ...
# Add metadata EGFR TKI sensitivity status
MIB_samples$EGFR_TKI_sen <- as.factor(ifelse(MIB_samples$cell_line_abbr %in% c("E4","E5","G1","G5","G8","G12"),"Resistant","Sensitive"))
# Generate additional metadata columns
MIB_samples$condition <- paste0(MIB_samples$cell_line_abbr,".", MIB_samples$serum)
# Make measure column for DEP
MIB_samples$measure <- "Intensity"
# Make label column for DEP
MIB_samples$label <- MIB_samples$mib_quick_id
# Make replicate column for DEP
MIB_samples$replicate <- MIB_samples$exp_replicate
# Protein groups file
protein_groups_2019 <- read.table("/Data/Input/MIB-MS/Baseline/2019_proteinGroups.txt", sep = "\t", header = TRUE)
# Remove peptide groups with no mapped proteins
protein_groups_2019_genes <- subset(protein_groups_2019, protein_groups_2019$Gene.names!="")
# Subset to kinases
protein_groups_2019_kinases <- subset(protein_groups_2019_genes, protein_groups_2019_genes$Gene.names %in% c(kinases.anno$Mouse_symbol,"EGFR"))
# Change EGFR to hEGFR
protein_groups_2019_kinases$Gene.names <- replace(protein_groups_2019_kinases$Gene.names,protein_groups_2019_kinases$Gene.names %in% c("EGFR"),"hEGFR")
# Extract out intensities
protein_groups_2019_id.type <- protein_groups_2019_kinases %>% dplyr::select("Gene.names",starts_with("Identification.type."))
protein_groups_2019_intensity <- protein_groups_2019_kinases %>% dplyr::select("Gene.names",starts_with("Intensity."))
# Rename columns
for (i in seq_along(names(protein_groups_2019_id.type))){
if (i == "1") next
colnames(protein_groups_2019_id.type)[i] <-
sapply(strsplit(names(protein_groups_2019_id.type)[i],"\\."),'[',3)
}
for (i in seq_along(names(protein_groups_2019_intensity))){
if (i == "1") next
colnames(protein_groups_2019_intensity)[i] <-
sapply(strsplit(names(protein_groups_2019_intensity)[i],"\\."),'[',2)
}
match(protein_groups_2019_intensity,protein_groups_2019_id.type)
## [1] 1 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
## [26] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
## [51] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
## [76] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
## [101] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
protein_groups_2019_intensity_adj <- protein_groups_2019_intensity
# Format data for DEP
row.names(protein_groups_2019_intensity_adj)<- protein_groups_2019_intensity_adj$Gene.names
protein_groups_2019_intensity_adj <- protein_groups_2019_intensity_adj[,-which(names(protein_groups_2019_intensity_adj) %in% c("Gene.names"))]
protein_groups_2019_intensity_adj$ID <- row.names(protein_groups_2019_intensity_adj)
protein_groups_2019_intensity_adj$name <- protein_groups_2019_intensity_adj$ID
# Remove the duplicated sample
MIB_samples <- MIB_samples[rownames(MIB_samples)!="LFQ062",]
# Drop 2018 run. Samples are not part of this experiment.
MIB_samples
## crm_ms_run mib_id mib_quick_id protein_id mib_prep_date TMT_label
## LFQ045 3 M0025 LFQ045 P0019 NA LFQ
## LFQ042 3 M0029 LFQ042 P0021 NA LFQ
## LFQ008 3 M0037 LFQ008 P0025 NA LFQ
## LFQ022 3 M0039 LFQ022 P0026 NA LFQ
## LFQ018 3 M0041 LFQ018 P0027 NA LFQ
## LFQ052 3 M0043 LFQ052 P0028 NA LFQ
## LFQ005 3 M0045 LFQ005 P0029 NA LFQ
## LFQ048 3 M0047 LFQ048 P0030 NA LFQ
## LFQ012 3 M0051 LFQ012 P0032 NA LFQ
## LFQ007 3 M0053 LFQ007 P0033 NA LFQ
## LFQ057 3 M0121 LFQ057 P0100 NA LFQ
## LFQ015 3 M0122 LFQ015 P0101 NA LFQ
## LFQ046 3 M0123 LFQ046 P0102 NA LFQ
## LFQ025 3 M0124 LFQ025 P0103 NA LFQ
## LFQ009 3 M0125 LFQ009 P0104 NA LFQ
## LFQ003 3 M0126 LFQ003 P0105 NA LFQ
## LFQ054 3 M0127 LFQ054 P0106 NA LFQ
## LFQ011 3 M0128 LFQ011 P0107 NA LFQ
## LFQ021 3 M0129 LFQ021 P0108 NA LFQ
## LFQ029 3 M0142 LFQ029 P0121 NA LFQ
## LFQ004 3 M0143 LFQ004 P0122 NA LFQ
## LFQ035 3 M0144 LFQ035 P0123 NA LFQ
## LFQ038 3 M0163 LFQ038 P0142 NA LFQ
## LFQ034 3 M0164 LFQ034 P0143 NA LFQ
## LFQ047 3 M0165 LFQ047 P0144 NA LFQ
## LFQ049 3 M0178 LFQ049 P0157 NA LFQ
## LFQ016 3 M0179 LFQ016 P0158 NA LFQ
## LFQ037 3 M0180 LFQ037 P0159 NA LFQ
## LFQ063 3 M0200 LFQ063 P0179 NA LFQ
## LFQ064 3 M0201 LFQ064 P0180 NA LFQ
## LFQ065 3 M0214 LFQ065 P0193 NA LFQ
## LFQ066 3 M0215 LFQ066 P0194 NA LFQ
## LFQ067 3 M0216 LFQ067 P0195 NA LFQ
## LFQ077 3 M0327 LFQ077 P0306 NA LFQ
## LFQ078 3 M0328 LFQ078 P0307 NA LFQ
## LFQ079 3 M0329 LFQ079 P0308 NA LFQ
## LFQ080 3 M0330 LFQ080 P0309 NA LFQ
## LFQ081 3 M0331 LFQ081 P0310 NA LFQ
## LFQ082 3 M0332 LFQ082 P0311 NA LFQ
## LFQ083 3 M0333 LFQ083 P0312 NA LFQ
## LFQ084 3 M0334 LFQ084 P0313 NA LFQ
## LFQ085 3 M0335 LFQ085 P0314 NA LFQ
## LFQ086 3 M0336 LFQ086 P0315 NA LFQ
## LFQ087 3 M0337 LFQ087 P0316 NA LFQ
## LFQ088 3 M0338 LFQ088 P0317 NA LFQ
## ms_pool_type ms_pool_date ms_pooled_by sample_id sample_type time_h
## LFQ045 LFQ NA NA S0043 cell_line 0
## LFQ042 LFQ NA NA S0045 cell_line 0
## LFQ008 LFQ NA NA S0049 cell_line 0
## LFQ022 LFQ NA NA S0050 cell_line 0
## LFQ018 LFQ NA NA S0051 cell_line 0
## LFQ052 LFQ NA NA S0052 cell_line 0
## LFQ005 LFQ NA NA S0053 cell_line 0
## LFQ048 LFQ NA NA S0054 cell_line 0
## LFQ012 LFQ NA NA S0056 cell_line 0
## LFQ007 LFQ NA NA S0057 cell_line 0
## LFQ057 LFQ NA NA S0100 cell_line 0
## LFQ015 LFQ NA NA S0101 cell_line 0
## LFQ046 LFQ NA NA S0102 cell_line 0
## LFQ025 LFQ NA NA S0103 cell_line 0
## LFQ009 LFQ NA NA S0104 cell_line 0
## LFQ003 LFQ NA NA S0105 cell_line 0
## LFQ054 LFQ NA NA S0106 cell_line 0
## LFQ011 LFQ NA NA S0107 cell_line 0
## LFQ021 LFQ NA NA S0108 cell_line 0
## LFQ029 LFQ NA NA S0121 cell_line 0
## LFQ004 LFQ NA NA S0122 cell_line 0
## LFQ035 LFQ NA NA S0123 cell_line 0
## LFQ038 LFQ NA NA S0142 cell_line 0
## LFQ034 LFQ NA NA S0143 cell_line 0
## LFQ047 LFQ NA NA S0144 cell_line 0
## LFQ049 LFQ NA NA S0157 cell_line 0
## LFQ016 LFQ NA NA S0158 cell_line 0
## LFQ037 LFQ NA NA S0159 cell_line 0
## LFQ063 LFQ NA NA S0179 cell_line 0
## LFQ064 LFQ NA NA S0180 cell_line 0
## LFQ065 LFQ NA NA S0193 cell_line 0
## LFQ066 LFQ NA NA S0194 cell_line 0
## LFQ067 LFQ NA NA S0195 cell_line 0
## LFQ077 LFQ NA NA S0306 cell_line 0
## LFQ078 LFQ NA NA S0307 cell_line 0
## LFQ079 LFQ NA NA S0308 cell_line 0
## LFQ080 LFQ NA NA S0309 cell_line 0
## LFQ081 LFQ NA NA S0310 cell_line 0
## LFQ082 LFQ NA NA S0311 cell_line 0
## LFQ083 LFQ NA NA S0312 cell_line 0
## LFQ084 LFQ NA NA S0313 cell_line 0
## LFQ085 LFQ NA NA S0314 cell_line 0
## LFQ086 LFQ NA NA S0315 cell_line 0
## LFQ087 LFQ NA NA S0316 cell_line 0
## LFQ088 LFQ NA NA S0317 cell_line 0
## sample_name samp_replicate expt_id expt_type serum drug
## LFQ045 CEv3_E49_13_17 1 31 baseline full <NA>
## LFQ042 CEv3_E49_25_17 3 37 baseline full <NA>
## LFQ008 CEv3_G89_13_17 1 32 baseline full <NA>
## LFQ022 CEv3_G89_18_17 2 34 baseline full <NA>
## LFQ018 CEv3_G89_25_17 3 38 baseline full <NA>
## LFQ052 CEv3_G126_20_17 1 18 baseline full <NA>
## LFQ005 CEv3_G126_23_17 2 23 baseline full <NA>
## LFQ048 CEv3_G126_30_17 3 28 baseline full <NA>
## LFQ012 CEv3_G16_24_17 2 25 baseline full <NA>
## LFQ007 CEv3_G16_30_17 3 29 baseline full <NA>
## LFQ057 CEv3_G59_26_17 1 40 baseline full <NA>
## LFQ015 CEv3_G510_9_17 2 41 baseline full <NA>
## LFQ046 CEv3_G510_10_17 3 42 baseline full <NA>
## LFQ025 CEv3_E5913_17 1 33 baseline full <NA>
## LFQ009 CEv3_E59_18_17 2 35 baseline full <NA>
## LFQ003 CEv3_E59_25_17 3 39 baseline full <NA>
## LFQ054 X2018_Summer_001 1 79 baseline starve <NA>
## LFQ011 X2018_Summer_002 2 83 baseline starve <NA>
## LFQ021 X2018_Summer_003 3 87 baseline starve <NA>
## LFQ029 X2018_Summer_016 1 103 baseline full <NA>
## LFQ004 X2018_Summer_017 2 109 baseline full <NA>
## LFQ035 X2018_Summer_018 3 113 baseline full <NA>
## LFQ038 X2018_Summer_037 1 81 baseline starve <NA>
## LFQ034 X2018_Summer_038 2 85 baseline starve <NA>
## LFQ047 X2018_Summer_039 3 89 baseline starve <NA>
## LFQ049 X2018_Summer_052 1 105 baseline full <NA>
## LFQ016 X2018_Summer_053 2 111 baseline full <NA>
## LFQ037 X2018_Summer_054 3 115 baseline full <NA>
## LFQ063 X2018_Summer_074 2 122 baseline starve <NA>
## LFQ064 X2018_Summer_075 3 126 baseline starve <NA>
## LFQ065 X2018_Summer_088 1 119 baseline starve <NA>
## LFQ066 X2018_Summer_089 2 123 baseline starve <NA>
## LFQ067 X2018_Summer_090 3 127 baseline starve <NA>
## LFQ077 X2018_Summer_201 1 171 baseline starve <NA>
## LFQ078 X2018_Summer_202 2 175 baseline starve <NA>
## LFQ079 X2018_Summer_203 3 179 baseline starve <NA>
## LFQ080 X2018_Summer_204 1 172 baseline starve <NA>
## LFQ081 X2018_Summer_205 2 176 baseline starve <NA>
## LFQ082 X2018_Summer_206 3 180 baseline starve <NA>
## LFQ083 X2018_Summer_207 1 173 baseline starve <NA>
## LFQ084 X2018_Summer_208 2 177 baseline starve <NA>
## LFQ085 X2018_Summer_209 3 181 baseline starve <NA>
## LFQ086 X2018_Summer_210 1 174 baseline starve <NA>
## LFQ087 X2018_Summer_211 2 178 baseline starve <NA>
## LFQ088 X2018_Summer_212 3 182 baseline starve <NA>
## drug_conc_uM exp_replicate cell_line cell_line_abbr cl_order cl_source
## LFQ045 NA 1 CEv3_E4 E4 10 CRM
## LFQ042 NA 3 CEv3_E4 E4 10 CRM
## LFQ008 NA 1 CEv3_G8 G8 8 CRM
## LFQ022 NA 2 CEv3_G8 G8 8 CRM
## LFQ018 NA 3 CEv3_G8 G8 8 CRM
## LFQ052 NA 1 CEv3_G12 G12 9 CRM
## LFQ005 NA 2 CEv3_G12 G12 9 CRM
## LFQ048 NA 3 CEv3_G12 G12 9 CRM
## LFQ012 NA 2 CEv3_G1 G1 6 CRM
## LFQ007 NA 3 CEv3_G1 G1 6 CRM
## LFQ057 NA 1 CEv3_G5 G5 7 CRM
## LFQ015 NA 2 CEv3_G5 G5 7 CRM
## LFQ046 NA 3 CEv3_G5 G5 7 CRM
## LFQ025 NA 1 CEv3_E5 E5 11 CRM
## LFQ009 NA 2 CEv3_E5 E5 11 CRM
## LFQ003 NA 3 CEv3_E5 E5 11 CRM
## LFQ054 NA 1 C_MAP C 1 CRM
## LFQ011 NA 2 C_MAP C 1 CRM
## LFQ021 NA 3 C_MAP C 1 CRM
## LFQ029 NA 1 C_MAP C 1 CRM
## LFQ004 NA 2 C_MAP C 1 CRM
## LFQ035 NA 3 C_MAP C 1 CRM
## LFQ038 NA 1 CEv3_PC CEv3 4 CRM
## LFQ034 NA 2 CEv3_PC CEv3 4 CRM
## LFQ047 NA 3 CEv3_PC CEv3 4 CRM
## LFQ049 NA 1 CEv3_PC CEv3 4 CRM
## LFQ016 NA 2 CEv3_PC CEv3 4 CRM
## LFQ037 NA 3 CEv3_PC CEv3 4 CRM
## LFQ063 NA 2 CEv3_E4 E4 10 CRM
## LFQ064 NA 3 CEv3_E4 E4 10 CRM
## LFQ065 NA 1 CEv3_E5 E5 11 CRM
## LFQ066 NA 2 CEv3_E5 E5 11 CRM
## LFQ067 NA 3 CEv3_E5 E5 11 CRM
## LFQ077 NA 1 CEv3_G1 G1 6 CRM
## LFQ078 NA 2 CEv3_G1 G1 6 CRM
## LFQ079 NA 3 CEv3_G1 G1 6 CRM
## LFQ080 NA 1 CEv3_G5 G5 7 CRM
## LFQ081 NA 2 CEv3_G5 G5 7 CRM
## LFQ082 NA 3 CEv3_G5 G5 7 CRM
## LFQ083 NA 1 CEv3_G8 G8 8 CRM
## LFQ084 NA 2 CEv3_G8 G8 8 CRM
## LFQ085 NA 3 CEv3_G8 G8 8 CRM
## LFQ086 NA 1 CEv3_G12 G12 9 CRM
## LFQ087 NA 2 CEv3_G12 G12 9 CRM
## LFQ088 NA 3 CEv3_G12 G12 9 CRM
## cl_series res_type species cell_type protein_prep_by
## LFQ045 Res culture mouse AC MB
## LFQ042 Res culture mouse AC MB
## LFQ008 Res culture mouse AC MB
## LFQ022 Res culture mouse AC MB
## LFQ018 Res culture mouse AC MB
## LFQ052 Res culture mouse AC AF
## LFQ005 Res culture mouse AC AF
## LFQ048 Res culture mouse AC AF
## LFQ012 Res culture mouse AC AF
## LFQ007 Res culture mouse AC AF
## LFQ057 Res culture mouse AC MB
## LFQ015 Res culture mouse AC MB
## LFQ046 Res culture mouse AC MB
## LFQ025 Res culture mouse AC MB
## LFQ009 Res culture mouse AC MB
## LFQ003 Res culture mouse AC MB
## LFQ054 Core <NA> mouse AC AKS
## LFQ011 Core <NA> mouse AC ES
## LFQ021 Core <NA> mouse AC ES
## LFQ029 Core <NA> mouse AC ES
## LFQ004 Core <NA> mouse AC ES
## LFQ035 Core <NA> mouse AC ES
## LFQ038 Core <NA> mouse AC AKS
## LFQ034 Core <NA> mouse AC AKS
## LFQ047 Core <NA> mouse AC AKS
## LFQ049 Core <NA> mouse AC AKS
## LFQ016 Core <NA> mouse AC AKS
## LFQ037 Core <NA> mouse AC AKS
## LFQ063 Res culture mouse AC AKS
## LFQ064 Res culture mouse AC AKS
## LFQ065 Res culture mouse AC AKS
## LFQ066 Res culture mouse AC AKS
## LFQ067 Res culture mouse AC AKS
## LFQ077 Res culture mouse AC ES
## LFQ078 Res culture mouse AC ES
## LFQ079 Res culture mouse AC ES
## LFQ080 Res culture mouse AC ES
## LFQ081 Res culture mouse AC ES
## LFQ082 Res culture mouse AC ES
## LFQ083 Res culture mouse AC AKS
## LFQ084 Res culture mouse AC AKS
## LFQ085 Res culture mouse AC AKS
## LFQ086 Res culture mouse AC AKS
## LFQ087 Res culture mouse AC AKS
## LFQ088 Res culture mouse AC ES
## raw_file ms_date full_sample_name prep_batch
## LFQ045 20180614_SPA_MIBs_RM07.raw 20180614 20180614_2018_LFQ_07 2
## LFQ042 20180614_SPA_MIBs_RM09.raw 20180614 20180614_2018_LFQ_09 2
## LFQ008 20180614_SPA_MIBs_RM13.raw 20180614 20180614_2018_LFQ_13 2
## LFQ022 20180614_SPA_MIBs_RM14.raw 20180614 20180614_2018_LFQ_14 2
## LFQ018 20180614_SPA_MIBs_RM15.raw 20180614 20180614_2018_LFQ_15 2
## LFQ052 20180614_SPA_MIBs_RM16.raw 20180614 20180614_2018_LFQ_16 2
## LFQ005 20190531_MIBs_Miller_LFQ_5.raw 20190531 20190531_LFQ005 3
## LFQ048 20180614_SPA_MIBs_RM18.raw 20180614 20180614_2018_LFQ_18 2
## LFQ012 20190531_MIBs_Miller_LFQ_12.raw 20190531 20190531_LFQ012 3
## LFQ007 20190531_MIBs_Miller_LFQ_7.raw 20190531 20190531_LFQ007 3
## LFQ057 20190607_MIBs_Miller_LFQ_57.raw 20190607 20190607_LFQ057 5
## LFQ015 20190531_MIBs_Miller_LFQ_15.raw 20190531 20190531_LFQ015 3
## LFQ046 20190604_MIBs_Miller_LFQ_46.raw 20190604 20190604_LFQ046 5
## LFQ025 20190530_MIBs_Miller_LFQ_25.raw 20190530 20190530_LFQ025 4
## LFQ009 20190531_MIBs_Miller_LFQ_9.raw 20190531 20190531_LFQ009 3
## LFQ003 20190531_MIBs_Miller_LFQ_3.raw 20190531 20190531_LFQ003 3
## LFQ054 20190607_MIBs_Miller_LFQ_54.raw 20190607 20190607_LFQ054 5
## LFQ011 20190531_MIBs_Miller_LFQ_11.raw 20190531 20190531_LFQ011 3
## LFQ021 20190530_MIBs_Miller_LFQ_21.raw 20190530 20190530_LFQ021 4
## LFQ029 20190530_MIBs_Miller_LFQ_29.raw 20190530 20190530_LFQ029 4
## LFQ004 20190531_MIBs_Miller_LFQ_4.raw 20190531 20190531_LFQ004 3
## LFQ035 20190604_MIBs_Miller_LFQ_35.raw 20190604 20190604_LFQ035 4
## LFQ038 20190604_MIBs_Miller_LFQ_38.raw 20190604 20190604_LFQ038 4
## LFQ034 20190604_MIBs_Miller_LFQ_34.raw 20190604 20190604_LFQ034 4
## LFQ047 20190604_MIBs_Miller_LFQ_47.raw 20190604 20190604_LFQ047 5
## LFQ049 20190607_MIBs_Miller_LFQ_49.raw 20190607 20190607_LFQ049 5
## LFQ016 20190531_MIBs_Miller_LFQ_16.raw 20190531 20190531_LFQ016 3
## LFQ037 20190604_MIBs_Miller_LFQ_37.raw 20190604 20190604_LFQ037 4
## LFQ063 20190607_MIBs_Miller_LFQ_62.raw 20190607 20190607_LFQ062_2 6
## LFQ064 20190607_MIBs_Miller_LFQ_63.raw 20190607 20190607_LFQ063 6
## LFQ065 20190607_MIBs_Miller_LFQ_64.raw 20190607 20190607_LFQ064 6
## LFQ066 20190607_MIBs_Miller_LFQ_65.raw 20190607 20190607_LFQ065 6
## LFQ067 20190607_MIBs_Miller_LFQ_66.raw 20190607 20190607_LFQ066 6
## LFQ077 20190610_MIBs_Miller_LFQ_76.raw 20190610 20190610_LFQ076 8
## LFQ078 20190610_MIBs_Miller_LFQ_77.raw 20190610 20190610_LFQ077 8
## LFQ079 20190610_MIBs_Miller_LFQ_78.raw 20190610 20190610_LFQ078 8
## LFQ080 20190610_MIBs_Miller_LFQ_79.raw 20190610 20190610_LFQ079 8
## LFQ081 20190610_MIBs_Miller_LFQ_80.raw 20190610 20190610_LFQ080 8
## LFQ082 20190610_MIBs_Miller_LFQ_81.raw 20190610 20190610_LFQ081 8
## LFQ083 20190610_MIBs_Miller_LFQ_82.raw 20190610 20190610_LFQ082 8
## LFQ084 20190610_MIBs_Miller_LFQ_83.raw 20190610 20190610_LFQ083 8
## LFQ085 20190610_MIBs_Miller_LFQ_84.raw 20190610 20190610_LFQ084 8
## LFQ086 20190610_MIBs_Miller_LFQ_85.raw 20190610 20190610_LFQ085 8
## LFQ087 20190610_MIBs_Miller_LFQ_86.raw 20190610 20190610_LFQ086 8
## LFQ088 20190610_MIBs_Miller_LFQ_87.raw 20190610 20190610_LFQ087 8
## resistance resistance_culture resistance_drug EGFR_TKI_sen condition
## LFQ045 Y in_vitro erlotinib Resistant E4.full
## LFQ042 Y in_vitro erlotinib Resistant E4.full
## LFQ008 Y in_vitro gefitinib Resistant G8.full
## LFQ022 Y in_vitro gefitinib Resistant G8.full
## LFQ018 Y in_vitro gefitinib Resistant G8.full
## LFQ052 Y in_vitro gefitinib Resistant G12.full
## LFQ005 Y in_vitro gefitinib Resistant G12.full
## LFQ048 Y in_vitro gefitinib Resistant G12.full
## LFQ012 Y in_vitro gefitinib Resistant G1.full
## LFQ007 Y in_vitro gefitinib Resistant G1.full
## LFQ057 Y in_vitro gefitinib Resistant G5.full
## LFQ015 Y in_vitro gefitinib Resistant G5.full
## LFQ046 Y in_vitro gefitinib Resistant G5.full
## LFQ025 Y in_vitro erlotinib Resistant E5.full
## LFQ009 Y in_vitro erlotinib Resistant E5.full
## LFQ003 Y in_vitro erlotinib Resistant E5.full
## LFQ054 N none Sensitive C.starve
## LFQ011 N none Sensitive C.starve
## LFQ021 N none Sensitive C.starve
## LFQ029 N none Sensitive C.full
## LFQ004 N none Sensitive C.full
## LFQ035 N none Sensitive C.full
## LFQ038 Y in_vitro none Sensitive CEv3.starve
## LFQ034 Y in_vitro none Sensitive CEv3.starve
## LFQ047 Y in_vitro none Sensitive CEv3.starve
## LFQ049 Y in_vitro none Sensitive CEv3.full
## LFQ016 Y in_vitro none Sensitive CEv3.full
## LFQ037 Y in_vitro none Sensitive CEv3.full
## LFQ063 Y in_vitro erlotinib Resistant E4.starve
## LFQ064 Y in_vitro erlotinib Resistant E4.starve
## LFQ065 Y in_vitro erlotinib Resistant E5.starve
## LFQ066 Y in_vitro erlotinib Resistant E5.starve
## LFQ067 Y in_vitro erlotinib Resistant E5.starve
## LFQ077 Y in_vivo gefitinib Resistant G1.starve
## LFQ078 Y in_vitro gefitinib Resistant G1.starve
## LFQ079 Y in_vitro gefitinib Resistant G1.starve
## LFQ080 Y in_vitro gefitinib Resistant G5.starve
## LFQ081 Y in_vitro gefitinib Resistant G5.starve
## LFQ082 Y in_vitro gefitinib Resistant G5.starve
## LFQ083 Y in_vitro gefitinib Resistant G8.starve
## LFQ084 Y in_vitro gefitinib Resistant G8.starve
## LFQ085 Y in_vitro gefitinib Resistant G8.starve
## LFQ086 Y in_vitro gefitinib Resistant G12.starve
## LFQ087 Y in_vitro gefitinib Resistant G12.starve
## LFQ088 Y in_vitro gefitinib Resistant G12.starve
## measure label replicate
## LFQ045 Intensity LFQ045 1
## LFQ042 Intensity LFQ042 3
## LFQ008 Intensity LFQ008 1
## LFQ022 Intensity LFQ022 2
## LFQ018 Intensity LFQ018 3
## LFQ052 Intensity LFQ052 1
## LFQ005 Intensity LFQ005 2
## LFQ048 Intensity LFQ048 3
## LFQ012 Intensity LFQ012 2
## LFQ007 Intensity LFQ007 3
## LFQ057 Intensity LFQ057 1
## LFQ015 Intensity LFQ015 2
## LFQ046 Intensity LFQ046 3
## LFQ025 Intensity LFQ025 1
## LFQ009 Intensity LFQ009 2
## LFQ003 Intensity LFQ003 3
## LFQ054 Intensity LFQ054 1
## LFQ011 Intensity LFQ011 2
## LFQ021 Intensity LFQ021 3
## LFQ029 Intensity LFQ029 1
## LFQ004 Intensity LFQ004 2
## LFQ035 Intensity LFQ035 3
## LFQ038 Intensity LFQ038 1
## LFQ034 Intensity LFQ034 2
## LFQ047 Intensity LFQ047 3
## LFQ049 Intensity LFQ049 1
## LFQ016 Intensity LFQ016 2
## LFQ037 Intensity LFQ037 3
## LFQ063 Intensity LFQ063 2
## LFQ064 Intensity LFQ064 3
## LFQ065 Intensity LFQ065 1
## LFQ066 Intensity LFQ066 2
## LFQ067 Intensity LFQ067 3
## LFQ077 Intensity LFQ077 1
## LFQ078 Intensity LFQ078 2
## LFQ079 Intensity LFQ079 3
## LFQ080 Intensity LFQ080 1
## LFQ081 Intensity LFQ081 2
## LFQ082 Intensity LFQ082 3
## LFQ083 Intensity LFQ083 1
## LFQ084 Intensity LFQ084 2
## LFQ085 Intensity LFQ085 3
## LFQ086 Intensity LFQ086 1
## LFQ087 Intensity LFQ087 2
## LFQ088 Intensity LFQ088 3
protein_groups_2019_intensity_adj <- protein_groups_2019_intensity_adj %>% dplyr::select(MIB_samples$mib_quick_id)
protein_groups_2019_intensity_adj$ID <- row.names(protein_groups_2019_intensity_adj)
protein_groups_2019_intensity_adj$name <- protein_groups_2019_intensity_adj$ID
# Copy over adjusted intensity matrix
se_data_2019 <- protein_groups_2019_intensity_adj
se_data_2019 <- protein_groups_2019_intensity_adj[,!colnames(protein_groups_2019_intensity_adj) %in% c("LFQ062_1","LFQ062_2")]
# Extract sample names from data matrix
cols <- grep("LFQ", colnames(se_data_2019))
# Check samples match between data matrix and sample sheet
MIB_samples$label %in% colnames(se_data_2019)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
MIB_samples$label[!(MIB_samples$label %in% colnames(se_data_2019))]
## character(0)
# Save sample sheet
write.csv(MIB_samples, file=paste0(MIB_output,"MIB_baseline_SampleSheet.csv"))
# Save Raw counts
write.csv(se_data_2019, file=paste0(MIB_output,"MIB_baseline_RawData.csv") )
# Make DEP object
se_mibs_BL_raw <- DEP::make_se(se_data_2019, cols, MIB_samples)
# Split sample sheets
MIB_samples_fs <- subset(MIB_samples, MIB_samples$serum=="full")
MIB_samples_ss <- subset(MIB_samples, MIB_samples$serum=="starve")
# Split DEP object
se_mibs_BL_raw_fs <- se_mibs_BL_raw[,paste0(MIB_samples_fs$condition,"_",MIB_samples_fs$replicate)]
se_mibs_BL_raw_ss <- se_mibs_BL_raw[,paste0(MIB_samples_ss$condition,"_",MIB_samples_ss$replicate)]
# Build summarized experiment object
se_mibs_BL_vsn <- DEP::normalize_vsn(se_mibs_BL_raw)
## Warning in vsnSample(v): 1 rows were removed since they contained only NA
## elements.
# Separated before batch correction
se_mibs_BL_vsn_fs <- DEP::normalize_vsn(se_mibs_BL_raw_fs)
## Warning in vsnSample(v): 6 rows were removed since they contained only NA
## elements.
se_mibs_BL_vsn_ss <- DEP::normalize_vsn(se_mibs_BL_raw_ss)
## Warning in vsnSample(v): 5 rows were removed since they contained only NA
## elements.
# Pre and post normalization comparision
DEP::plot_normalization(se_mibs_BL_raw,se_mibs_BL_vsn)
# Plot a heatmap of proteins with missing values
missval_plot <- DEP::plot_missval(se_mibs_BL_vsn)
missval_plot
# Frequency plot of missing values
freq_plot <- DEP::plot_frequency(se_mibs_BL_vsn)
freq_plot
# Plot intensity distributions and cumulative fraction of proteins with and without missing values
detect_plot <- DEP::plot_detect(se_mibs_BL_vsn)
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_line()`).
detect_plot
## TableGrob (2 x 1) "arrange": 2 grobs
## z cells name grob
## 1 1 (1-1,1-1) arrange gtable[layout]
## 2 2 (2-2,1-1) arrange gtable[layout]
# Impute missing data using random draws from a manually defined left-shifted Gaussian distribution (for MNAR)
# scale Numeric(1), Sets the width of the distribution relative to the standard deviation of the original distribution
# shift Numeric(1), Sets the left-shift of the distribution (in standard deviations) from the median of the original distribution.
# # Begin comment out
#
# # # Comment out after running once to lock in imputed values
# set.seed(888)
# se_mibs_BL_mv <- DEP::impute(se_mibs_BL_vsn, fun = "man", shift = 3, scale = 0.3)
#
# # # Impute and batch correct separately
# # se_mibs_BL_mv_fs <- DEP::impute(se_mibs_BL_vsn_fs, fun = "man", shift = 3, scale = 0.3)
# # se_mibs_BL_mv_ss <- DEP::impute(se_mibs_BL_vsn_ss, fun = "man", shift = 3, scale = 0.3)
#
# # write imputation data to RDS and csv to 'lock in' that specific imputation. Writing to both the impute folder and the output folder simultaneously.
# saveRDS(se_mibs_BL_mv,file = paste0("/Data/Input/MIB-MS/Baseline/","se_mibs_BL_mv",".rds"))
# saveRDS(se_mibs_BL_mv,file = paste0(MIB_output,"se_mibs_BL_mv",".rds"))
# write.csv(assays(se_mibs_BL_mv), paste0("/Data/Input/MIB-MS/Baseline/","se_mibs_BL_mv",".csv"))
# write.csv(assays(se_mibs_BL_mv), paste0(MIB_output,"se_mibs_BL_mv",".csv"))
#
# # End comment out
# read in imputation RDS to use for rest of code
se_mibs_BL_mv <- readRDS(paste0("/Data/Input/MIB-MS/Baseline/","se_mibs_BL_mv",".rds"))
# Plot intensity distributions before and after imputation
impute_plot <- DEP::plot_imputation(se_mibs_BL_vsn, se_mibs_BL_mv)
impute_plot
# Batch correction using Limma
se_mibs_BL_bc <- se_mibs_BL_mv
assay(se_mibs_BL_bc) <- limma::removeBatchEffect(assay(se_mibs_BL_bc), batch = se_mibs_BL_bc@colData$prep_batch)
boxplot(assay(se_mibs_BL_raw), las=2, ylab="log2 ratio", main="Raw")
boxplot(assay(se_mibs_BL_vsn), las=2, ylab="log2 ratio", main=paste0("vsn"))
boxplot(assay(se_mibs_BL_mv), las=2, ylab="log2 ratio", main=paste0("impute missing values"))
boxplot(assay(se_mibs_BL_bc), las=2, ylab="log2 ratio", main=paste0("batch correction"))
# Create pca object
pcaData <- PCAtools::pca(assay(se_mibs_BL_mv), metadata = colData(se_mibs_BL_mv))
# Set colors
color_vector <-
c(
'C' = 'black',
'CEv3' = 'red',
'E4'='deepskyblue4',
'E5'='turquoise3',
'G1'='purple4',
'G5'='mediumorchid',
'G8'='deeppink',
'G12'='pink2' )
# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
lab = NULL ,
colby = "cell_line_abbr",
colkey = color_vector,
shape = "serum",
legendPosition = 'right' )
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
p1
##### Complete Dataset batch corrected
# Create pca object
pcaData <- PCAtools::pca(assay(se_mibs_BL_bc), metadata = colData(se_mibs_BL_bc))
# Set colors
color_vector <-
c(
'C' = 'black',
'CEv3' = 'red',
'E4'='deepskyblue4',
'E5'='turquoise3',
'G1'='purple4',
'G5'='mediumorchid',
'G8'='deeppink',
'G12'='pink2' )
# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
lab = NULL ,
colby = "cell_line_abbr",
colkey = color_vector,
shape = "serum",
legendPosition = 'right' )
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
p1
# MIB_samples
# Extract baseline parental samples
MIB_samples_bl_Par <- subset(MIB_samples, MIB_samples$cell_line_abbr %in% c("CEv3","C"))
# Split by serum status
MIB_samples_bl_Par_fs <- subset(MIB_samples_bl_Par, MIB_samples_bl_Par$serum=="full")
MIB_samples_bl_Par_ss <- subset(MIB_samples_bl_Par, MIB_samples_bl_Par$serum=="starve")
# Extract Baseline Res samples
MIB_samples_bl_Res <- subset(MIB_samples, MIB_samples$cell_line_abbr %in% c("CEv3","E4","E5","G1","G5","G8","G12"))
# Split by serum status
MIB_samples_bl_Res_fs <- subset(MIB_samples_bl_Res, MIB_samples_bl_Res$serum=="full")
MIB_samples_bl_Res_ss <- subset(MIB_samples_bl_Res, MIB_samples_bl_Res$serum=="starve")
MIB_samples_EDA_ls <- list(bl_Par_fs=MIB_samples_bl_Par_fs,
bl_Par_ss=MIB_samples_bl_Par_ss,
bl_Res_fs=MIB_samples_bl_Res_fs,
bl_Res_ss=MIB_samples_bl_Res_ss,
bl_Par=MIB_samples_bl_Par,
bl_Res=MIB_samples_bl_Res)
# Directories for DEP_Bl_Par
dir.create(paste0(MIB_graphs,"DEP_EDA_subset"))
dir.create(paste0(MIB_output,"DEP_EDA_subset"))
graph_dir <- paste0(MIB_graphs,"DEP_EDA_subset/")
output_dir <- paste0(MIB_output,"DEP_EDA_subset/")
# List of sample sheet subsets for EDA
# MIB_samples_EDA_ls
# Complete imputed mv
se_mibs_BL_mv
## class: SummarizedExperiment
## dim: 325 45
## metadata(0):
## assays(1): ''
## rownames(325): Ttn Ephb6 ... Rps6ka4 Stk25
## rowData names(4): ID name imputed num_NAs
## colnames(45): E4.full_1 E4.full_3 ... G12.starve_2 G12.starve_3
## colData names(57): crm_ms_run mib_id ... label replicate
# Complet batch corrected values
se_mibs_BL_bc
## class: SummarizedExperiment
## dim: 325 45
## metadata(0):
## assays(1): ''
## rownames(325): Ttn Ephb6 ... Rps6ka4 Stk25
## rowData names(4): ID name imputed num_NAs
## colnames(45): E4.full_1 E4.full_3 ... G12.starve_2 G12.starve_3
## colData names(57): crm_ms_run mib_id ... label replicate
# Save sample sheet
for (i in seq_along(MIB_samples_EDA_ls)){
dir.create(paste0(graph_dir,names(MIB_samples_EDA_ls)[i]))
dir.create(paste0(output_dir,names(MIB_samples_EDA_ls)[i]))
write.csv(MIB_samples_EDA_ls[[i]], file=paste0(output_dir,names(MIB_samples_EDA_ls)[i],"/MIB_samples",".csv"))
}
# Generate se subsets for DEP EDA
DEP_EDA_mv_ls <- list()
DEP_EDA_bc_ls <- list()
for (i in seq_along(MIB_samples_EDA_ls)){
# Generate se object for imputed missing values
DEP_EDA_mv_ls[[names(MIB_samples_EDA_ls)[i]]] <-
se_mibs_BL_mv[,paste0(MIB_samples_EDA_ls[[i]]$condition,"_",MIB_samples_EDA_ls[[i]]$replicate)]
# Save as RDS
saveRDS(DEP_EDA_mv_ls[[names(MIB_samples_EDA_ls)[i]]], file = paste0(output_dir,names(MIB_samples_EDA_ls)[i],"/",format(Sys.Date(),"%y%m%d"),"_",names(MIB_samples_EDA_ls)[i],"_mv_",".rds"))
# Generate se object for batch corrected values
DEP_EDA_bc_ls[[names(MIB_samples_EDA_ls)[i]]] <-
se_mibs_BL_bc[,paste0(MIB_samples_EDA_ls[[i]]$condition,"_",MIB_samples_EDA_ls[[i]]$replicate)]
# Save as RDS
saveRDS(DEP_EDA_bc_ls[[names(MIB_samples_EDA_ls)[i]]], file = paste0(output_dir,names(MIB_samples_EDA_ls)[i],"/",format(Sys.Date(),"%y%m%d"),"_",names(MIB_samples_EDA_ls)[i],"_bc_",".rds"))
# Save imputed(raw) and batch corrected (norm) norm counts
norm_counts <- as.data.frame(assay(DEP_EDA_bc_ls[[names(MIB_samples_EDA_ls)[i]]]))
raw_counts <- as.data.frame(assay(DEP_EDA_mv_ls[[names(MIB_samples_EDA_ls)[i]]]))
write.csv(
norm_counts,
file=paste0(output_dir,names(MIB_samples_EDA_ls)[i],"/","norm_counts",".csv"),
row.names = TRUE
)
write.csv(
raw_counts,
file=paste0(output_dir,names(MIB_samples_EDA_ls)[i],"/","raw_counts",".csv"),
row.names = TRUE
)
}
# PCA with all genes
for(h in seq_along(DEP_EDA_bc_ls)){
# Directories
PCA_graph <- paste0(graph_dir,names(DEP_EDA_bc_ls)[h],"/")
PCA_output <- paste0(output_dir,names(DEP_EDA_bc_ls)[h],"/")
# Extract single
DEP_bc <- DEP_EDA_bc_ls[[h]]
# Create pca object
pcaData <- PCAtools::pca(assay(DEP_bc), metadata = colData(DEP_bc))
# Save pca data
write.csv(pcaData$rotated, file =paste0(PCA_output,"pcaData","DEP_bc",".csv"))
# Set colors
color_vector <-
c(
'C' = 'black',
'CEv3' = 'red',
'E4' = 'deepskyblue4',
'E5' = 'turquoise3',
'G1' = 'purple4',
'G5' = 'mediumorchid',
'G8' = 'deeppink',
'G12' = 'pink2'
)
# plot 5 pricipal components in a pairsplot
pairsplot <- pairsplot(pcaData,
components = getComponents(pcaData, c(1:5)),
triangle = TRUE, trianglelabSize = 12,
hline = 0, vline = 0,
pointSize = 0.4,
gridlines.major = FALSE, gridlines.minor = FALSE,
colby = 'condition',
#colkey= color_vector,
title = 'Pairs plot', plotaxes = FALSE,
legendPosition = 'none',
margingaps = unit(c(-0.01, -0.01, -0.01, -0.01), 'cm'))
pairsplot
# save graph as PDF
ggsave(
filename = paste0(PCA_graph,"DEP_bc_","pairsplot", ".pdf"),
plot = pairsplot
)
# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
lab = NULL ,
colby = "condition",
#colkey= color_vector,
legendPosition = 'right' )
p1
# save graph as PDF
ggsave(
filename = paste0(PCA_graph,"pca_DEP_bc_","cell_line",".pdf"),
plot = p1
)
}
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
for(h in seq_along(DEP_EDA_mv_ls)){
# Directories
PCA_graph <- paste0(graph_dir,names(DEP_EDA_mv_ls)[h],"/")
PCA_output <- paste0(output_dir,names(DEP_EDA_mv_ls)[h],"/")
# Extract single
DEP_mv <- DEP_EDA_mv_ls[[h]]
# Create pca object
pcaData <- PCAtools::pca(assay(DEP_mv), metadata = colData(DEP_mv))
# Save pca data
write.csv(pcaData$rotated, file =paste0(PCA_output,"pcaData","DEP_mv",".csv"))
# Set colors
color_vector <-
c(
'C' = 'black',
'CEv3' = 'red',
'E4' = 'deepskyblue4',
'E5' = 'turquoise3',
'G1' = 'purple4',
'G5' = 'mediumorchid',
'G8' = 'deeppink',
'G12' = 'pink2'
)
# plot 5 pricipal components in a pairsplot
pairsplot <- pairsplot(pcaData,
components = getComponents(pcaData, c(1:5)),
triangle = TRUE, trianglelabSize = 12,
hline = 0, vline = 0,
pointSize = 0.4,
gridlines.major = FALSE, gridlines.minor = FALSE,
colby = 'condition',
#colkey= color_vector,
title = 'Pairs plot', plotaxes = FALSE,
legendPosition = 'none',
margingaps = unit(c(-0.01, -0.01, -0.01, -0.01), 'cm'))
pairsplot
# save graph as PDF
ggsave(
filename = paste0(PCA_graph,"DEP_mv","pairsplot", ".pdf"),
plot = pairsplot
)
# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
lab = NULL ,
colby = "condition",
#colkey= color_vector,
legendPosition = 'right' )
p1
# save graph as PDF
ggsave(
filename = paste0(PCA_graph,"pca_DEP_mv_","cell_line",".pdf"),
plot = p1
)
}
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Saving 7 x 5 in image
## Saving 7 x 5 in image
Batch corrected values
system.time(
for(h in seq_along(DEP_EDA_bc_ls)){
# Directories
Euclidian_graph <- paste0(graph_dir,names(DEP_EDA_bc_ls)[h],"/")
Euclidian_output <- paste0(output_dir,names(DEP_EDA_bc_ls)[h],"/")
# Extract single
DEP_bc <- DEP_EDA_bc_ls[[h]]
# calculate sample euclidian distances
sampleDists <- dist(t(assay(DEP_bc)))
# plot sample euclidian distances via a heatmap
sampleDistMatrix <- as.matrix( sampleDists )
# Complex Heatmap annotation labels
annotation_col<-
HeatmapAnnotation(df = data.frame(Model = DEP_bc@colData$cell_line_abbr,
Serum = DEP_bc@colData$serum,
Sen = DEP_bc@colData$EGFR_TKI_sen),
col = list(Model =
c(
'C' = 'black',
'CEv3' = 'red',
'E4' = 'deepskyblue4',
'E5' = 'turquoise3',
'G1' = 'purple4',
'G5' = 'mediumorchid',
'G8' = 'deeppink',
'G12' = 'pink2'
),
Serum =
c("full"='firebrick',
"starve"='royalblue'
),
Sen =
c('Resistant'='brown',
'Sensitive'='blue')
))
# Heatmap of euclidian distances
ed_heatmap <-
ComplexHeatmap::Heatmap(
sampleDistMatrix,
name = " ",
column_title = "Euclidian Distances",
show_column_names = FALSE,
show_row_names = FALSE,
clustering_distance_rows = "euclidean",
clustering_distance_columns = "euclidean",
clustering_method_rows = "complete",
clustering_method_columns = "complete",
col = colorRampPalette( rev(brewer.pal(9, "Blues")) )(255),
top_annotation = annotation_col
)
pdf(file=paste0(Euclidian_graph,"Euclidian_distance_bc",".pdf"))
draw(ed_heatmap)
dev.off()
}
)
## user system elapsed
## 1.851 0.000 1.893
Missing Values
system.time(
for(h in seq_along(DEP_EDA_mv_ls)){
# Directories
Euclidian_graph <- paste0(graph_dir,names(DEP_EDA_mv_ls)[h],"/")
Euclidian_output <- paste0(output_dir,names(DEP_EDA_mv_ls)[h],"/")
# Extract single
DEP_mv <- DEP_EDA_mv_ls[[h]]
# calculate sample euclidian distances
sampleDists <- dist(t(assay(DEP_mv)))
# plot sample euclidian distances via a heatmap
sampleDistMatrix <- as.matrix( sampleDists )
# Complex Heatmap annotation labels
annotation_col<-
HeatmapAnnotation(df = data.frame(Model = DEP_mv@colData$cell_line_abbr,
Serum = DEP_mv@colData$serum,
Sen = DEP_mv@colData$EGFR_TKI_sen),
col = list(Model =
c(
'C' = 'black',
'CEv3' = 'red',
'E4' = 'deepskyblue4',
'E5' = 'turquoise3',
'G1' = 'purple4',
'G5' = 'mediumorchid',
'G8' = 'deeppink',
'G12' = 'pink2'
),
Serum =
c("full"='firebrick',
"starve"='royalblue'
),
Sen =
c('Resistant'='brown',
'Sensitive'='blue')
))
# Heatmap of euclidian distances
ed_heatmap <-
ComplexHeatmap::Heatmap(
sampleDistMatrix,
name = " ",
column_title = "Euclidian Distances",
show_column_names = FALSE,
show_row_names = FALSE,
clustering_distance_rows = "euclidean",
clustering_distance_columns = "euclidean",
clustering_method_rows = "complete",
clustering_method_columns = "complete",
col = colorRampPalette( rev(brewer.pal(9, "Blues")) )(255),
top_annotation = annotation_col
)
pdf(file=paste0(Euclidian_graph,"Euclidian_distance_mv",".pdf"))
draw(ed_heatmap)
dev.off()
}
)
## user system elapsed
## 1.520 0.000 1.554
# user system elapsed
# 345.517 2.174 405.482
system.time(for (h in seq_along(DEP_EDA_bc_ls)){
# Directories for normCounts
dir.create(paste0(output_dir,names(DEP_EDA_bc_ls)[h],"/","normCounts"))
output_dir_normCounts <- paste0(output_dir,names(DEP_EDA_bc_ls)[h],"/","normCounts/")
dir.create(paste0(graph_dir,names(DEP_EDA_bc_ls)[h],"/","normCounts"))
graph_dir_normCounts <- paste0(graph_dir,names(DEP_EDA_bc_ls)[h],"/","normCounts/")
DEP_normCounts <- DEP_EDA_bc_ls[[h]]
# DEP_normCounts
norm_counts <- as.data.frame(assay(DEP_normCounts))
normCounts <- norm_counts
# Import DF of GOI
# normCounts_goi_df <- read.csv("/Data/Input/RNAseq/REF/normCounts_goi_mouse.csv",header = TRUE, fileEncoding = "UTF-8-BOM")
# vectors of genes of interest. Filtered for present
goi <- row.names(DEP_normCounts)
# Check all goi are present after filtering
match(goi,row.names(normCounts))
# Transform data
counts_goi <- as.data.frame(t(normCounts[goi,]))
counts.rn_counts_goi <- rownames(counts_goi)
# Extract each gene in to a unique dataframe
counts_data_list_goi <- list()
for (i in seq_along(goi)) {
counts_data_list_goi[[goi[i]]] <- as.data.frame(counts_goi[, i])
rownames(counts_data_list_goi[[goi[i]]]) <- counts.rn_counts_goi
counts_data_list_goi[[goi[i]]] <-
rownames_to_column(counts_data_list_goi[[goi[i]]], var = "sample_id")
colnames(counts_data_list_goi[[goi[i]]])[2] <- "norm_counts"
counts_data_list_goi[[goi[i]]]$cell_line_abbr <-
DEP_normCounts@colData$cell_line_abbr[match(counts_data_list_goi[[goi[i]]]$sample_id,
rownames(DEP_normCounts@colData))]
counts_data_list_goi[[goi[i]]]$drug <-
DEP_normCounts@colData$drug[match(counts_data_list_goi[[goi[i]]]$sample_id,
rownames(DEP_normCounts@colData))]
counts_data_list_goi[[goi[i]]]$drug_conc_uM <-
DEP_normCounts@colData$drug_conc_uM[match(counts_data_list_goi[[goi[i]]]$sample_id,
rownames(DEP_normCounts@colData))]
counts_data_list_goi[[goi[i]]]$time_h <-
DEP_normCounts@colData$time_h[match(counts_data_list_goi[[goi[i]]]$sample_id,
rownames(DEP_normCounts@colData))]
counts_data_list_goi[[goi[i]]]$condition <-
DEP_normCounts@colData$condition[match(counts_data_list_goi[[goi[i]]]$sample_id,
rownames(DEP_normCounts@colData))]
}
# Save count data for GOI
for (i in seq_along(counts_data_list_goi)) {
write.csv(
counts_data_list_goi[[i]],
file = paste0(output_dir_normCounts, names(counts_data_list_goi)[i], ".csv"),
row.names = TRUE
)
}
# Compute stats for GOI
counts_data_list_goi_stats <- list()
for (i in seq_along(counts_data_list_goi)) {
counts_data_list_goi_stats[[names(counts_data_list_goi)[i]]] <-
counts_data_list_goi[[i]] %>%
group_by(condition) %>%
summarise(
n = n(),
avg_normCount = mean(norm_counts),
sd = sd(norm_counts),
IQR = IQR(norm_counts),
MAD = mad(norm_counts),
Coeff.Variation.Prcnt =sd(norm_counts) / mean(norm_counts) * 100
)
}
# Save stats data for GOI
for (i in seq_along(counts_data_list_goi_stats)) {
write.csv(
counts_data_list_goi_stats[[i]],
file = paste0(output_dir_normCounts, names(counts_data_list_goi_stats)[i], "_stats.csv"),
row.names = TRUE
)
}
# Boxplots on linear scale
b <- list()
for (i in seq_along(counts_data_list_goi)) {
b[[i]] <- ggplot(data = counts_data_list_goi[[i]],
aes(x = counts_data_list_goi[[i]]$condition ,
y = counts_data_list_goi[[i]]$norm_counts)) +
geom_boxplot() +
geom_point() +
xlab("Genotype") +
ylab("Normalized Counts") +
scale_y_continuous() +
labs(title = paste0(names(counts_data_list_goi[i]), " DEP_normCounts")) +
theme(axis.text.x = element_text(angle = 90, hjust = 0.5, vjust = 0.5, size=rel(1)))
print(b[[i]])
ggsave(filename = paste0(
graph_dir_normCounts,
names(counts_data_list_goi)[[i]],
"_normCounts",
".pdf"
))
}
# Graphics termination
if(!is.null(dev.list())) dev.off()
if(!is.null(dev.list())) graphics.off()
})
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## user system elapsed
## 275.785 1.077 324.365
This chunk will extract the MV imputed counts for GOI ##### normCounts
# user system elapsed
# 345.517 2.174 405.482
system.time(for (h in seq_along(DEP_EDA_mv_ls)){
# Directories for normCounts
dir.create(paste0(output_dir,names(DEP_EDA_mv_ls)[h],"/","normCounts_MV"))
output_dir_normCounts <- paste0(output_dir,names(DEP_EDA_mv_ls)[h],"/","normCounts_MV/")
dir.create(paste0(graph_dir,names(DEP_EDA_mv_ls)[h],"/","normCounts_MV"))
graph_dir_normCounts <- paste0(graph_dir,names(DEP_EDA_mv_ls)[h],"/","normCounts_MV/")
DEP_normCounts <- DEP_EDA_mv_ls[[h]]
# DEP_normCounts
norm_counts <- as.data.frame(assay(DEP_normCounts))
normCounts <- norm_counts
# Import DF of GOI
# normCounts_goi_df <- read.csv("/Data/Input/RNAseq/REF/normCounts_goi_mouse.csv",header = TRUE, fileEncoding = "UTF-8-BOM")
# vectors of genes of interest. Filtered for present
goi <- row.names(DEP_normCounts)
# Check all goi are present after filtering
match(goi,row.names(normCounts))
# Transform data
counts_goi <- as.data.frame(t(normCounts[goi,]))
counts.rn_counts_goi <- rownames(counts_goi)
# Extract each gene in to a unique dataframe
counts_data_list_goi <- list()
for (i in seq_along(goi)) {
counts_data_list_goi[[goi[i]]] <- as.data.frame(counts_goi[, i])
rownames(counts_data_list_goi[[goi[i]]]) <- counts.rn_counts_goi
counts_data_list_goi[[goi[i]]] <-
rownames_to_column(counts_data_list_goi[[goi[i]]], var = "sample_id")
colnames(counts_data_list_goi[[goi[i]]])[2] <- "norm_counts"
counts_data_list_goi[[goi[i]]]$cell_line_abbr <-
DEP_normCounts@colData$cell_line_abbr[match(counts_data_list_goi[[goi[i]]]$sample_id,
rownames(DEP_normCounts@colData))]
counts_data_list_goi[[goi[i]]]$drug <-
DEP_normCounts@colData$drug[match(counts_data_list_goi[[goi[i]]]$sample_id,
rownames(DEP_normCounts@colData))]
counts_data_list_goi[[goi[i]]]$drug_conc_uM <-
DEP_normCounts@colData$drug_conc_uM[match(counts_data_list_goi[[goi[i]]]$sample_id,
rownames(DEP_normCounts@colData))]
counts_data_list_goi[[goi[i]]]$time_h <-
DEP_normCounts@colData$time_h[match(counts_data_list_goi[[goi[i]]]$sample_id,
rownames(DEP_normCounts@colData))]
counts_data_list_goi[[goi[i]]]$condition <-
DEP_normCounts@colData$condition[match(counts_data_list_goi[[goi[i]]]$sample_id,
rownames(DEP_normCounts@colData))]
}
# Save count data for GOI
for (i in seq_along(counts_data_list_goi)) {
write.csv(
counts_data_list_goi[[i]],
file = paste0(output_dir_normCounts, names(counts_data_list_goi)[i], ".csv"),
row.names = TRUE
)
}
# Compute stats for GOI
counts_data_list_goi_stats <- list()
for (i in seq_along(counts_data_list_goi)) {
counts_data_list_goi_stats[[names(counts_data_list_goi)[i]]] <-
counts_data_list_goi[[i]] %>%
group_by(condition) %>%
summarise(
n = n(),
avg_normCount = mean(norm_counts),
sd = sd(norm_counts),
IQR = IQR(norm_counts),
MAD = mad(norm_counts),
Coeff.Variation.Prcnt =sd(norm_counts) / mean(norm_counts) * 100
)
}
# Save stats data for GOI
for (i in seq_along(counts_data_list_goi_stats)) {
write.csv(
counts_data_list_goi_stats[[i]],
file = paste0(output_dir_normCounts, names(counts_data_list_goi_stats)[i], "_stats.csv"),
row.names = TRUE
)
}
# Boxplots on linear scale
b <- list()
for (i in seq_along(counts_data_list_goi)) {
b[[i]] <- ggplot(data = counts_data_list_goi[[i]],
aes(x = counts_data_list_goi[[i]]$condition ,
y = counts_data_list_goi[[i]]$norm_counts)) +
geom_boxplot() +
geom_point() +
xlab("Genotype") +
ylab("Normalized Counts") +
scale_y_continuous() +
labs(title = paste0(names(counts_data_list_goi[i]), " DEP_normCounts")) +
theme(axis.text.x = element_text(angle = 90, hjust = 0.5, vjust = 0.5, size=rel(1)))
print(b[[i]])
ggsave(filename = paste0(
graph_dir_normCounts,
names(counts_data_list_goi)[[i]],
"_normCounts",
".pdf"
))
}
# Graphics termination
if(!is.null(dev.list())) dev.off()
if(!is.null(dev.list())) graphics.off()
})
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## Saving 7 x 7 in image
## user system elapsed
## 276.804 1.039 313.032
# Directories for MIB
MIB_output
## [1] "/Data/Output/MIB-BL/"
MIB_graphs
## [1] "/Data/Graphs/MIB-BL/"
# Directory for full SE obj
dir.create(paste0(MIB_output,"DEP_all"))
dir.create(paste0(MIB_graphs,"DEP_all"))
graph_dir <- paste0(MIB_graphs,"DEP_all/")
output_dir <- paste0(MIB_output,"DEP_all/")
# Directory for Full SE obj results
dir.create(paste0(output_dir,"Limma_res"))
output_dir_res <- paste0(output_dir,"Limma_res/")
dir.create(paste0(graph_dir,"Limma_res"))
graph_dir_res <- paste0(graph_dir,"Limma_res/")
# comps
comps_factor <- as.vector(factor(paste0(colData(se_mibs_BL_mv)$condition)))
comps_df <- crossing(comp_num=comps_factor, comp_denom=comps_factor)
comps_df <- subset(comps_df, as.character(comps_df$comp_num) != as.character(comps_df$comp_denom))
# All comps
comps_df_all <- comps_df
comps_df_all <- cbind(comp_type="condition",comps_df_all)
comps_df_all <- cbind(comp_no=1:nrow(comps_df_all),comps_df_all)
comps_df_all$comp_name <- paste(comps_df_all$comp_num, "vs", comps_df_all$comp_denom, sep = "-")
comps_df_all$comp <- paste(comps_df_all$comp_num,comps_df_all$comp_denom, sep="-")
write.csv(comps_df_all, file=paste0(output_dir_res,"comps_all.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_all, file = paste0(output_dir_res,
## "comps_all.csv"), : attempt to set 'col.names' ignored
comps_all_subset <- comps_df_all[,2:4]
# Unique comps only (for only unique combo)
comps_df_unique <- comps_df[!duplicated(t(apply(comps_df, 1, sort))), ]
comps_df_unique <- cbind(comp_type="condition",comps_df_unique )
comps_df_unique <- cbind(comp_no=1:nrow(comps_df_unique),comps_df_unique)
comps_df_unique$comp_name <- paste(comps_df_unique$comp_num, "vs", comps_df_unique$comp_denom, sep = "-")
comps_df_unique$comp <- paste(comps_df_unique$comp_num,comps_df_unique$comp_denom, sep="-")
write.csv(comps_df_unique, file=paste0(output_dir_res,"comps_unique.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_unique, file = paste0(output_dir_res,
## "comps_unique.csv"), : attempt to set 'col.names' ignored
comps_unique_subset <- comps_df_unique[,2:4]
# Comp list to use (all comps)
comps <- comps_df_all
# Extract gene matrix
gene.matrix <- as.matrix(assay(se_mibs_BL_mv))
# make design table
cond <- as.vector(se_mibs_BL_mv@colData$condition)
batch <- as.vector(se_mibs_BL_mv@colData$prep_batch)
# Design formula with covariates of batch
design <- model.matrix(~0 + cond + batch )
colnames(design) = gsub("cond","",colnames(design))
head(design)
## C.full C.starve CEv3.full CEv3.starve E4.full E4.starve E5.full E5.starve
## 1 0 0 0 0 1 0 0 0
## 2 0 0 0 0 1 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## G1.full G1.starve G12.full G12.starve G5.full G5.starve G8.full G8.starve
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 1 0
## 4 0 0 0 0 0 0 1 0
## 5 0 0 0 0 0 0 1 0
## 6 0 0 1 0 0 0 0 0
## batch3 batch4 batch5 batch6 batch8
## 1 0 0 0 0 0
## 2 0 0 0 0 0
## 3 0 0 0 0 0
## 4 0 0 0 0 0
## 5 0 0 0 0 0
## 6 0 0 0 0 0
#limma part analysis
fit1 <- lmFit(gene.matrix, design)
## Coefficients not estimable: batch6 batch8
## Warning: Partial NA coefficients for 325 probe(s)
# Make contrasts
contrast <- makeContrasts(contrasts=comps$comp,levels=design)
fit2 <- eBayes(contrasts.fit(fit1,contrasts = contrast))
# Extract results
mibs_comp_list <- list()
for (i in seq_along(comps$comp)){
mibs_comp_list[[comps$comp[i]]] <-
topTreat(fit2, coef=comps$comp[i], number=Inf, adjust.method = "fdr")
mibs_comp_list[[comps$comp[i]]]$gene <- row.names(mibs_comp_list[[comps$comp[i]]])
}
# Estimate true null
propTrueNull(mibs_comp_list[[1]]$P.Value)
## [1] 0.8589634
# save results
for (i in seq_along(mibs_comp_list)) {
write.csv(
mibs_comp_list[[i]],
file = paste0(output_dir_res,"comp_", i, "_", names(mibs_comp_list)[i], ".csv"),
row.names = TRUE
)
}
# save results
# Save mibs_comp_list as RDS
saveRDS(mibs_comp_list, file = paste0(output_dir,format(Sys.Date(),"%y%m%d"),"_","DE_Limma_res",".rds"))
# Directories for DEP_Bl_par
dir.create(paste0(MIB_graphs,"DEP_Bl_Par_fs"))
dir.create(paste0(MIB_output,"DEP_Bl_Par_fs"))
graph_dir <- paste0(MIB_graphs,"DEP_Bl_Par_fs/")
output_dir <- paste0(MIB_output,"DEP_Bl_Par_fs/")
# Master DEP
# DEP_EDA_mv_ls
# Subseting from the batch corrected imputed normalized values.
# se_mibs_BL_bc
# Subset DEP object
DEP_Bl_Par_fs <- DEP_EDA_bc_ls[["bl_Par_fs"]]
# Save sample sheet
write.csv(data.frame(colData(DEP_Bl_Par_fs)), file=paste0(output_dir,"DEP_Bl_Par_fs",".csv"))
# Save DEP_2019_parental as RDS
saveRDS(DEP_Bl_Par_fs, file = paste0(output_dir,format(Sys.Date(),"%y%m%d"),"_","DEP_Bl_Par_fs",".rds"))
# PCA with all genes
# Create pca object
pcaData <- PCAtools::pca(assay(DEP_Bl_Par_fs), metadata = colData(DEP_Bl_Par_fs))
# Save pca data
write.csv(pcaData$rotated, file =paste0(output_dir,"pcaData",".csv"))
# Set colors
color_vector <-
c(
'C' = 'black',
'CEv3' = 'red'
)
# plot 5 pricipal components in a pairsplot
pairsplot <- pairsplot(pcaData,
components = getComponents(pcaData, c(1:5)),
triangle = TRUE, trianglelabSize = 12,
hline = 0, vline = 0,
pointSize = 0.4,
gridlines.major = FALSE, gridlines.minor = FALSE,
colby = 'cell_line_abbr',
colkey= color_vector,
title = 'Pairs plot', plotaxes = FALSE,
legendPosition = 'none',
margingaps = unit(c(-0.01, -0.01, -0.01, -0.01), 'cm'))
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
pairsplot
# save graph as PDF
ggsave(
filename = paste0(graph_dir,"pca_","pairsplot", ".pdf"),
plot = pairsplot
)
## Saving 7 x 5 in image
# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
lab = NULL ,
colby = "cell_line_abbr",
colkey= color_vector,
legendPosition = 'right' )
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
p1
# save graph as PDF
ggsave(
filename = paste0(graph_dir,"pca_vsd_500_","cell_line",".pdf"),
plot = p1
)
## Saving 7 x 5 in image
# calculate sample euclidian distances
sampleDists <- dist(t(assay(DEP_Bl_Par_fs)))
# plot sample euclidian distances via a heatmap
sampleDistMatrix <- as.matrix( sampleDists )
# Complex Heatmap annotation labels
annotation_col<-
HeatmapAnnotation(df = data.frame(Model = DEP_Bl_Par_fs@colData$cell_line_abbr,
Sen= DEP_Bl_Par_fs@colData$EGFR_TKI_sen),
col = list(Model =
c(
'C' = 'black',
'CEv3' = 'red',
'E4' = 'deepskyblue4',
'E5' = 'turquoise3',
'G1' = 'purple4',
'G5' = 'mediumorchid',
'G8' = 'deeppink',
'G12' = 'pink2'
),
Sen =
c('Resistant'='brown',
'Sensitive'='blue')
))
# Heatmap of euclidian distances
ComplexHeatmap::Heatmap(
sampleDistMatrix,
name = " ",
column_title = "Eculidian Distances",
show_column_names = FALSE,
show_row_names = FALSE,
clustering_distance_rows = "euclidean",
clustering_distance_columns = "euclidean",
clustering_method_rows = "complete",
clustering_method_columns = "complete",
col = colorRampPalette( rev(brewer.pal(9, "Blues")) )(255),
top_annotation = annotation_col
)
# Directory for results
dir.create(paste0(output_dir,"Limma_res"))
output_dir_res <- paste0(output_dir,"Limma_res/")
dir.create(paste0(graph_dir,"Limma_res"))
graph_dir_res <- paste0(graph_dir,"Limma_res/")
# DEP_Bl_Par_fs
# comps
comps_factor <- as.vector(factor(paste0(DEP_Bl_Par_fs$condition)))
comps_df <- crossing(comp_num=comps_factor, comp_denom=comps_factor)
comps_df <- subset(comps_df, as.character(comps_df$comp_num) != as.character(comps_df$comp_denom))
# All comps
comps_df_all <- comps_df
comps_df_all <- cbind(comp_type="condition",comps_df_all)
comps_df_all <- cbind(comp_no=1:nrow(comps_df_all),comps_df_all)
comps_df_all$comp_name <- paste(comps_df_all$comp_num, "vs", comps_df_all$comp_denom, sep = "-")
comps_df_all$comp <- paste(comps_df_all$comp_num,comps_df_all$comp_denom, sep="-")
write.csv(comps_df_all, file=paste0(output_dir,"comps_all.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_all, file = paste0(output_dir, "comps_all.csv"),
## : attempt to set 'col.names' ignored
comps_all_subset <- comps_df_all[,2:4]
# Unique comps only (for only unique combo)
comps_df_unique <- comps_df[!duplicated(t(apply(comps_df, 1, sort))), ]
comps_df_unique <- cbind(comp_type="condition",comps_df_unique )
comps_df_unique <- cbind(comp_no=1:nrow(comps_df_unique),comps_df_unique)
comps_df_unique$comp_name <- paste(comps_df_unique$comp_num, "vs", comps_df_unique$comp_denom, sep = "-")
comps_df_unique$comp <- paste(comps_df_unique$comp_num,comps_df_unique$comp_denom, sep="-")
write.csv(comps_df_unique, file=paste0(output_dir,"comps_unique.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_unique, file = paste0(output_dir,
## "comps_unique.csv"), : attempt to set 'col.names' ignored
comps_unique_subset <- comps_df_unique[,2:4]
# Comp list to use (all comps)
comps <- comps_df_all
# Results
# mibs_comp_list
# Extract results
subset_limmaRes <- list()
for (i in seq_along(comps$comp)){
subset_limmaRes[[comps$comp[i]]] <-
mibs_comp_list[[paste0(comps$comp[i])]]
}
# save results
for (i in seq_along(subset_limmaRes)) {
write.csv(
subset_limmaRes[[i]],
file = paste0(output_dir_res,"comp_", i, "_", names(subset_limmaRes)[i], ".csv"),
row.names = TRUE
)
}
# Extract comps of interest
coi <- comps_df_all$comp[comps_df_all$comp_denom %in% c("C.full","CEv3.full")]
comp_list_oi <- subset_limmaRes[names(subset_limmaRes) %in% coi]
comp_list_oi <- lapply(comp_list_oi,data.frame)
# Label list of DF
for (i in seq_along(comp_list_oi)){
colnames(comp_list_oi[[i]]) <- paste0(colnames(comp_list_oi[[i]]),"_",names(comp_list_oi)[[i]])
comp_list_oi[[i]]$Gene_ID <- row.names(comp_list_oi[[i]])
}
# Left_join comps of interest to 1x spreadsheet
comp_list_oi_master <- Reduce(function(x, y) left_join(x, y, by="Gene_ID"), comp_list_oi)
row.names(comp_list_oi_master) <- comp_list_oi_master$Gene_ID
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)=="Gene_ID")]
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)%in% paste0(grep("gene_",colnames(comp_list_oi_master), value = T)))]
# Subset to spreadsheets
comp_list_oi_padj <- comp_list_oi_master[,grep("adj.P.Val_", colnames(comp_list_oi_master))]
comp_list_oi_pvalue <- comp_list_oi_master[,grep("P.Value_", colnames(comp_list_oi_master))]
comp_list_oi_l2fc <- comp_list_oi_master[,grep("logFC_", colnames(comp_list_oi_master))]
# Save spreadsheets
write.csv(comp_list_oi_padj, file = paste0(output_dir_res,"All_coi_","padj",".csv"))
write.csv(comp_list_oi_pvalue, file = paste0(output_dir_res,"All_coi_","pvalue",".csv"))
write.csv(comp_list_oi_l2fc, file = paste0(output_dir_res,"All_coi_","l2fc",".csv"))
# Directory for volcano plots
dir.create(paste0(graph_dir,"volcano"))
graph_dir_vol <- paste0(graph_dir,"volcano/")
# Plot Volcano
volcano_plots_ls <- list()
for (i in seq_along(subset_limmaRes)){
plot(volcano_plots_ls[[names(subset_limmaRes)[i]]] <-
EnhancedVolcano(
subset_limmaRes[[i]],
lab=row.names(subset_limmaRes[[i]]),
x="logFC",
y="adj.P.Val",
title= paste0("MIBs ",names(subset_limmaRes)[[i]]),
pCutoff =qval,
FCcutoff =lfc,
pointSize = 2.0,
labSize = 3.0
))}
# Save Volcano
for (i in seq_along(volcano_plots_ls)){
ggsave(filename = paste0(graph_dir_vol,"comp_", i, "_", names(volcano_plots_ls)[[i]],".pdf"), plot=volcano_plots_ls[[i]])
}
## Saving 7 x 5 in image
## Saving 7 x 5 in image
# Graphics termination
if(!is.null(dev.list())) dev.off()
## null device
## 1
if(!is.null(dev.list())) graphics.off()
# Directories for DEP_Bl_par
dir.create(paste0(MIB_graphs,"DEP_Bl_Par_ss"))
dir.create(paste0(MIB_output,"DEP_Bl_Par_ss"))
graph_dir <- paste0(MIB_graphs,"DEP_Bl_Par_ss/")
output_dir <- paste0(MIB_output,"DEP_Bl_Par_ss/")
# Master DEP
# DEP_EDA_mv_ls
# Subseting from the batch corrected imputed normalized values.
# se_mibs_BL_bc
# Subset DEP object
DEP_Bl_Par_ss <- DEP_EDA_bc_ls[["bl_Par_ss"]]
# Save sample sheet
write.csv(data.frame(colData(DEP_Bl_Par_ss)), file=paste0(output_dir,"DEP_Bl_Par_ss",".csv"))
# Save DEP_2019_parental as RDS
saveRDS(DEP_Bl_Par_ss, file = paste0(output_dir,format(Sys.Date(),"%y%m%d"),"_","DEP_Bl_Par_ss",".rds"))
# PCA with all genes
# Create pca object
pcaData <- PCAtools::pca(assay(DEP_Bl_Par_ss), metadata = colData(DEP_Bl_Par_ss))
# Save pca data
write.csv(pcaData$rotated, file =paste0(output_dir,"pcaData",".csv"))
# Set colors
color_vector <-
c(
'C' = 'black',
'CEv3' = 'red'
)
# plot 5 pricipal components in a pairsplot
pairsplot <- pairsplot(pcaData,
components = getComponents(pcaData, c(1:5)),
triangle = TRUE, trianglelabSize = 12,
hline = 0, vline = 0,
pointSize = 0.4,
gridlines.major = FALSE, gridlines.minor = FALSE,
colby = 'cell_line_abbr',
colkey= color_vector,
title = 'Pairs plot', plotaxes = FALSE,
legendPosition = 'none',
margingaps = unit(c(-0.01, -0.01, -0.01, -0.01), 'cm'))
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
pairsplot
# save graph as PDF
ggsave(
filename = paste0(graph_dir,"pca_","pairsplot", ".pdf"),
plot = pairsplot
)
## Saving 7 x 5 in image
# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
lab = NULL ,
colby = "cell_line_abbr",
colkey= color_vector,
legendPosition = 'right' )
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
p1
# save graph as PDF
ggsave(
filename = paste0(graph_dir,"pca_vsd_500_","cell_line",".pdf"),
plot = p1
)
## Saving 7 x 5 in image
# calculate sample euclidian distances
sampleDists <- dist(t(assay(DEP_Bl_Par_ss)))
# plot sample euclidian distances via a heatmap
sampleDistMatrix <- as.matrix( sampleDists )
# Complex Heatmap annotation labels
annotation_col<-
HeatmapAnnotation(df = data.frame(Model = DEP_Bl_Par_ss@colData$cell_line_abbr,
Sen = DEP_Bl_Par_ss@colData$EGFR_TKI_sen ),
col = list(Model =
c(
'C' = 'black',
'CEv3' = 'red',
'E4' = 'deepskyblue4',
'E5' = 'turquoise3',
'G1' = 'purple4',
'G5' = 'mediumorchid',
'G8' = 'deeppink',
'G12' = 'pink2'
),
Sen =
c('Resistant'='brown',
'Sensitive'='blue')
))
# Heatmap of euclidian distances
ComplexHeatmap::Heatmap(
sampleDistMatrix,
name = " ",
column_title = "Eculidian Distances",
show_column_names = FALSE,
show_row_names = FALSE,
clustering_distance_rows = "euclidean",
clustering_distance_columns = "euclidean",
clustering_method_rows = "complete",
clustering_method_columns = "complete",
col = colorRampPalette( rev(brewer.pal(9, "Blues")) )(255),
top_annotation = annotation_col
)
# Directory for results
dir.create(paste0(output_dir,"Limma_res"))
output_dir_res <- paste0(output_dir,"Limma_res/")
dir.create(paste0(graph_dir,"Limma_res"))
graph_dir_res <- paste0(graph_dir,"Limma_res/")
# DEP_Bl_Par_ss
# comps
comps_factor <- as.vector(factor(paste0(DEP_Bl_Par_ss$condition)))
comps_df <- crossing(comp_num=comps_factor, comp_denom=comps_factor)
comps_df <- subset(comps_df, as.character(comps_df$comp_num) != as.character(comps_df$comp_denom))
# All comps
comps_df_all <- comps_df
comps_df_all <- cbind(comp_type="condition",comps_df_all)
comps_df_all <- cbind(comp_no=1:nrow(comps_df_all),comps_df_all)
comps_df_all$comp_name <- paste(comps_df_all$comp_num, "vs", comps_df_all$comp_denom, sep = "-")
comps_df_all$comp <- paste(comps_df_all$comp_num,comps_df_all$comp_denom, sep="-")
write.csv(comps_df_all, file=paste0(output_dir,"comps_all.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_all, file = paste0(output_dir, "comps_all.csv"),
## : attempt to set 'col.names' ignored
comps_all_subset <- comps_df_all[,2:4]
# Unique comps only (for only unique combo)
comps_df_unique <- comps_df[!duplicated(t(apply(comps_df, 1, sort))), ]
comps_df_unique <- cbind(comp_type="condition",comps_df_unique )
comps_df_unique <- cbind(comp_no=1:nrow(comps_df_unique),comps_df_unique)
comps_df_unique$comp_name <- paste(comps_df_unique$comp_num, "vs", comps_df_unique$comp_denom, sep = "-")
comps_df_unique$comp <- paste(comps_df_unique$comp_num,comps_df_unique$comp_denom, sep="-")
write.csv(comps_df_unique, file=paste0(output_dir,"comps_unique.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_unique, file = paste0(output_dir,
## "comps_unique.csv"), : attempt to set 'col.names' ignored
comps_unique_subset <- comps_df_unique[,2:4]
# Comp list to use (all comps)
comps <- comps_df_all
# Results
# mibs_comp_list
# Extract results
subset_limmaRes <- list()
for (i in seq_along(comps$comp)){
subset_limmaRes[[comps$comp[i]]] <-
mibs_comp_list[[paste0(comps$comp[i])]]
}
# save results
for (i in seq_along(subset_limmaRes)) {
write.csv(
subset_limmaRes[[i]],
file = paste0(output_dir_res,"comp_", i, "_", names(subset_limmaRes)[i], ".csv"),
row.names = TRUE
)
}
# Extract comps of interest
coi <- comps_df_all$comp[comps_df_all$comp_denom %in% c("C.starve","CEv3.starve")]
comp_list_oi <- subset_limmaRes[names(subset_limmaRes) %in% coi]
comp_list_oi <- lapply(comp_list_oi,data.frame)
# Label list of DF
for (i in seq_along(comp_list_oi)){
colnames(comp_list_oi[[i]]) <- paste0(colnames(comp_list_oi[[i]]),"_",names(comp_list_oi)[[i]])
comp_list_oi[[i]]$Gene_ID <- row.names(comp_list_oi[[i]])
}
# Left_join comps of interest to 1x spreadsheet
comp_list_oi_master <- Reduce(function(x, y) left_join(x, y, by="Gene_ID"), comp_list_oi)
row.names(comp_list_oi_master) <- comp_list_oi_master$Gene_ID
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)=="Gene_ID")]
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)%in% paste0(grep("gene_",colnames(comp_list_oi_master), value = T)))]
# Subset to spreadsheets
comp_list_oi_padj <- comp_list_oi_master[,grep("adj.P.Val_", colnames(comp_list_oi_master))]
comp_list_oi_pvalue <- comp_list_oi_master[,grep("P.Value_", colnames(comp_list_oi_master))]
comp_list_oi_l2fc <- comp_list_oi_master[,grep("logFC_", colnames(comp_list_oi_master))]
# Save spreadsheets
write.csv(comp_list_oi_padj, file = paste0(output_dir_res,"All_coi_","padj",".csv"))
write.csv(comp_list_oi_pvalue, file = paste0(output_dir_res,"All_coi_","pvalue",".csv"))
write.csv(comp_list_oi_l2fc, file = paste0(output_dir_res,"All_coi_","l2fc",".csv"))
# Directory for volcano plots
dir.create(paste0(graph_dir,"volcano"))
graph_dir_vol <- paste0(graph_dir,"volcano/")
# Plot Volcano
volcano_plots_ls <- list()
for (i in seq_along(subset_limmaRes)){
plot(volcano_plots_ls[[names(subset_limmaRes)[i]]] <-
EnhancedVolcano(
subset_limmaRes[[i]],
lab=row.names(subset_limmaRes[[i]]),
x="logFC",
y="adj.P.Val",
title= paste0("MIBs ",names(subset_limmaRes)[[i]]),
pCutoff =qval,
FCcutoff =lfc,
pointSize = 2.0,
labSize = 3.0
))}
# Save Volcano
for (i in seq_along(volcano_plots_ls)){
ggsave(filename = paste0(graph_dir_vol,"comp_", i, "_", names(volcano_plots_ls)[[i]],".pdf"), plot=volcano_plots_ls[[i]])
}
## Saving 7 x 5 in image
## Saving 7 x 5 in image
# Graphics termination
if(!is.null(dev.list())) dev.off()
## null device
## 1
if(!is.null(dev.list())) graphics.off()
# Directories for DEP_Bl_par
dir.create(paste0(MIB_graphs,"DEP_Bl_Res_fs"))
dir.create(paste0(MIB_output,"DEP_Bl_Res_fs"))
graph_dir <- paste0(MIB_graphs,"DEP_Bl_Res_fs/")
output_dir <- paste0(MIB_output,"DEP_Bl_Res_fs/")
# Master DEP
# DEP_EDA_mv_ls
# Subseting from the batch corrected imputed normalized values.
# se_mibs_BL_bc
# Subset DEP object
DEP_Bl_Res_fs <- DEP_EDA_bc_ls[["bl_Res_fs"]]
# Save sample sheet
write.csv(data.frame(colData(DEP_Bl_Res_fs)), file=paste0(output_dir,"DEP_Bl_Res_fs",".csv"))
# Save DEP_2019_parental as RDS
saveRDS(DEP_Bl_Res_fs, file = paste0(output_dir,format(Sys.Date(),"%y%m%d"),"_","DEP_Bl_Res_fs",".rds"))
# PCA with all genes
# Create pca object
pcaData <- PCAtools::pca(assay(DEP_Bl_Res_fs), metadata = colData(DEP_Bl_Res_fs))
# Save pca data
write.csv(pcaData$rotated, file =paste0(output_dir,"pcaData",".csv"))
# Set colors
color_vector <-
c(
'CEv3' = 'red',
'E4'='deepskyblue4',
'E5'='turquoise3',
'G1'='purple4',
'G5'='mediumorchid',
'G8'='deeppink',
'G12'='pink2'
)
# plot 5 pricipal components in a pairsplot
pairsplot <- pairsplot(pcaData,
components = getComponents(pcaData, c(1:5)),
triangle = TRUE, trianglelabSize = 12,
hline = 0, vline = 0,
pointSize = 0.4,
gridlines.major = FALSE, gridlines.minor = FALSE,
colby = 'cell_line_abbr',
colkey= color_vector,
title = 'Pairs plot', plotaxes = FALSE,
legendPosition = 'none',
margingaps = unit(c(-0.01, -0.01, -0.01, -0.01), 'cm'))
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
pairsplot
# save graph as PDF
ggsave(
filename = paste0(graph_dir,"pca_","pairsplot", ".pdf"),
plot = pairsplot
)
## Saving 7 x 5 in image
# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
lab = NULL ,
colby = "cell_line_abbr",
colkey= color_vector,
legendPosition = 'right' )
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
p1
# save graph as PDF
ggsave(
filename = paste0(graph_dir,"pca_vsd_500_","cell_line",".pdf"),
plot = p1
)
## Saving 7 x 5 in image
# calculate sample euclidian distances
sampleDists <- dist(t(assay(DEP_Bl_Res_fs)))
# plot sample euclidian distances via a heatmap
sampleDistMatrix <- as.matrix( sampleDists )
# Complex Heatmap annotation labels
annotation_col<-
HeatmapAnnotation(df = data.frame(Model = DEP_Bl_Res_fs@colData$cell_line_abbr,
Sen = DEP_Bl_Res_fs@colData$EGFR_TKI_sen),
col = list(Model =
c(
'CEv3' = 'red',
'E4'='deepskyblue4',
'E5'='turquoise3',
'G1'='purple4',
'G5'='mediumorchid',
'G8'='deeppink',
'G12'='pink2'
),
Sen =
c('Resistant'='brown',
'Sensitive'='blue')
))
# Heatmap of euclidian distances
ComplexHeatmap::Heatmap(
sampleDistMatrix,
name = " ",
column_title = "Eculidian Distances",
show_column_names = FALSE,
show_row_names = FALSE,
clustering_distance_rows = "euclidean",
clustering_distance_columns = "euclidean",
clustering_method_rows = "complete",
clustering_method_columns = "complete",
col = colorRampPalette( rev(brewer.pal(9, "Blues")) )(255),
top_annotation = annotation_col
)
# Directory for results
dir.create(paste0(output_dir,"Limma_res"))
output_dir_res <- paste0(output_dir,"Limma_res/")
dir.create(paste0(graph_dir,"Limma_res"))
graph_dir_res <- paste0(graph_dir,"Limma_res/")
# DEP_Bl_Res_fs
# comps
comps_factor <- as.vector(factor(paste0(DEP_Bl_Res_fs$condition)))
comps_df <- crossing(comp_num=comps_factor, comp_denom=comps_factor)
comps_df <- subset(comps_df, as.character(comps_df$comp_num) != as.character(comps_df$comp_denom))
# All comps
comps_df_all <- comps_df
comps_df_all <- cbind(comp_type="condition",comps_df_all)
comps_df_all <- cbind(comp_no=1:nrow(comps_df_all),comps_df_all)
comps_df_all$comp_name <- paste(comps_df_all$comp_num, "vs", comps_df_all$comp_denom, sep = "-")
comps_df_all$comp <- paste(comps_df_all$comp_num,comps_df_all$comp_denom, sep="-")
write.csv(comps_df_all, file=paste0(output_dir,"comps_all.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_all, file = paste0(output_dir, "comps_all.csv"),
## : attempt to set 'col.names' ignored
comps_all_subset <- comps_df_all[,2:4]
# Unique comps only (for only unique combo)
comps_df_unique <- comps_df[!duplicated(t(apply(comps_df, 1, sort))), ]
comps_df_unique <- cbind(comp_type="condition",comps_df_unique )
comps_df_unique <- cbind(comp_no=1:nrow(comps_df_unique),comps_df_unique)
comps_df_unique$comp_name <- paste(comps_df_unique$comp_num, "vs", comps_df_unique$comp_denom, sep = "-")
comps_df_unique$comp <- paste(comps_df_unique$comp_num,comps_df_unique$comp_denom, sep="-")
write.csv(comps_df_unique, file=paste0(output_dir,"comps_unique.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_unique, file = paste0(output_dir,
## "comps_unique.csv"), : attempt to set 'col.names' ignored
comps_unique_subset <- comps_df_unique[,2:4]
# Comp list to use (all comps)
comps <- comps_df_all
# Results
# mibs_comp_list
# Extract results
subset_limmaRes <- list()
for (i in seq_along(comps$comp)){
subset_limmaRes[[comps$comp[i]]] <-
mibs_comp_list[[paste0(comps$comp[i])]]
}
# save results
for (i in seq_along(subset_limmaRes)) {
write.csv(
subset_limmaRes[[i]],
file = paste0(output_dir_res,"comp_", i, "_", names(subset_limmaRes)[i], ".csv"),
row.names = TRUE
)
}
# Extract comps of interest
coi <- comps_df_all$comp[comps_df_all$comp_denom %in% c("CEv3.full")]
comp_list_oi <- subset_limmaRes[names(subset_limmaRes) %in% coi]
comp_list_oi <- lapply(comp_list_oi,data.frame)
# Label list of DF
for (i in seq_along(comp_list_oi)){
colnames(comp_list_oi[[i]]) <- paste0(colnames(comp_list_oi[[i]]),"_",names(comp_list_oi)[[i]])
comp_list_oi[[i]]$Gene_ID <- row.names(comp_list_oi[[i]])
}
# Left_join comps of interest to 1x spreadsheet
comp_list_oi_master <- Reduce(function(x, y) left_join(x, y, by="Gene_ID"), comp_list_oi)
row.names(comp_list_oi_master) <- comp_list_oi_master$Gene_ID
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)=="Gene_ID")]
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)%in% paste0(grep("gene_",colnames(comp_list_oi_master), value = T)))]
# Subset to spreadsheets
comp_list_oi_padj <- comp_list_oi_master[,grep("adj.P.Val_", colnames(comp_list_oi_master))]
comp_list_oi_pvalue <- comp_list_oi_master[,grep("P.Value_", colnames(comp_list_oi_master))]
comp_list_oi_l2fc <- comp_list_oi_master[,grep("logFC_", colnames(comp_list_oi_master))]
# Save spreadsheets
write.csv(comp_list_oi_padj, file = paste0(output_dir_res,"All_coi_","padj",".csv"))
write.csv(comp_list_oi_pvalue, file = paste0(output_dir_res,"All_coi_","pvalue",".csv"))
write.csv(comp_list_oi_l2fc, file = paste0(output_dir_res,"All_coi_","l2fc",".csv"))
# Directory for volcano plots
dir.create(paste0(graph_dir,"volcano"))
graph_dir_vol <- paste0(graph_dir,"volcano/")
# Plot Volcano
volcano_plots_ls <- list()
for (i in seq_along(subset_limmaRes)){
plot(volcano_plots_ls[[names(subset_limmaRes)[i]]] <-
EnhancedVolcano(
subset_limmaRes[[i]],
lab=row.names(subset_limmaRes[[i]]),
x="logFC",
y="adj.P.Val",
title= paste0("MIBs ",names(subset_limmaRes)[[i]]),
pCutoff =qval,
FCcutoff =lfc,
pointSize = 2.0,
labSize = 3.0
))}
# Save Volcano
for (i in seq_along(volcano_plots_ls)){
ggsave(filename = paste0(graph_dir_vol,"comp_", i, "_", names(volcano_plots_ls)[[i]],".pdf"), plot=volcano_plots_ls[[i]])
}
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
# Graphics termination
if(!is.null(dev.list())) dev.off()
## null device
## 1
if(!is.null(dev.list())) graphics.off()
# Directories for DEP_Bl_par
dir.create(paste0(MIB_graphs,"DEP_Bl_Res_ss"))
dir.create(paste0(MIB_output,"DEP_Bl_Res_ss"))
graph_dir <- paste0(MIB_graphs,"DEP_Bl_Res_ss/")
output_dir <- paste0(MIB_output,"DEP_Bl_Res_ss/")
# Master DEP
# DEP_EDA_mv_ls
# Subseting from the batch corrected imputed normalized values.
# se_mibs_BL_bc
# Subset DEP object
DEP_Bl_Res_ss <- DEP_EDA_mv_ls[["bl_Res_ss"]]
# Save sample sheet
write.csv(data.frame(colData(DEP_Bl_Res_ss)), file=paste0(output_dir,"DEP_Bl_Res_ss",".csv"))
# Save DEP_2019_parental as RDS
saveRDS(DEP_Bl_Res_ss, file = paste0(output_dir,format(Sys.Date(),"%y%m%d"),"_","DEP_Bl_Res_ss",".rds"))
# PCA with all genes
# Create pca object
pcaData <- PCAtools::pca(assay(DEP_Bl_Res_ss), metadata = colData(DEP_Bl_Res_ss))
# Save pca data
write.csv(pcaData$rotated, file =paste0(output_dir,"pcaData",".csv"))
# Set colors
color_vector <-
c(
'CEv3' = 'red',
'E4'='deepskyblue4',
'E5'='turquoise3',
'G1'='purple4',
'G5'='mediumorchid',
'G8'='deeppink',
'G12'='pink2'
)
# plot 5 pricipal components in a pairsplot
pairsplot <- pairsplot(pcaData,
components = getComponents(pcaData, c(1:5)),
triangle = TRUE, trianglelabSize = 12,
hline = 0, vline = 0,
pointSize = 0.4,
gridlines.major = FALSE, gridlines.minor = FALSE,
colby = 'cell_line_abbr',
colkey= color_vector,
title = 'Pairs plot', plotaxes = FALSE,
legendPosition = 'none',
margingaps = unit(c(-0.01, -0.01, -0.01, -0.01), 'cm'))
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
pairsplot
# save graph as PDF
ggsave(
filename = paste0(graph_dir,"pca_","pairsplot", ".pdf"),
plot = pairsplot
)
## Saving 7 x 5 in image
# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
lab = NULL ,
colby = "cell_line_abbr",
colkey= color_vector,
legendPosition = 'right' )
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
p1
# save graph as PDF
ggsave(
filename = paste0(graph_dir,"pca_vsd_500_","cell_line",".pdf"),
plot = p1
)
## Saving 7 x 5 in image
# calculate sample euclidian distances
sampleDists <- dist(t(assay(DEP_Bl_Res_ss)))
# plot sample euclidian distances via a heatmap
sampleDistMatrix <- as.matrix( sampleDists )
# Complex Heatmap annotation labels
annotation_col<-
HeatmapAnnotation(df = data.frame(Model = DEP_Bl_Res_ss@colData$cell_line_abbr,
Sen = DEP_Bl_Res_ss@colData$EGFR_TKI_sen),
col = list(Model =
c(
'CEv3' = 'red',
'E4'='deepskyblue4',
'E5'='turquoise3',
'G1'='purple4',
'G5'='mediumorchid',
'G8'='deeppink',
'G12'='pink2'
),
Sen =
c('Resistant'='brown',
'Sensitive'='blue')
))
# Heatmap of euclidian distances
ComplexHeatmap::Heatmap(
sampleDistMatrix,
name = " ",
column_title = "Eculidian Distances",
show_column_names = FALSE,
show_row_names = FALSE,
clustering_distance_rows = "euclidean",
clustering_distance_columns = "euclidean",
clustering_method_rows = "complete",
clustering_method_columns = "complete",
col = colorRampPalette( rev(brewer.pal(9, "Blues")) )(255),
top_annotation = annotation_col
)
# Directory for results
dir.create(paste0(output_dir,"Limma_res"))
output_dir_res <- paste0(output_dir,"Limma_res/")
dir.create(paste0(graph_dir,"Limma_res"))
graph_dir_res <- paste0(graph_dir,"Limma_res/")
# DEP_Bl_Res_ss
# comps
comps_factor <- as.vector(factor(paste0(DEP_Bl_Res_ss$condition)))
comps_df <- crossing(comp_num=comps_factor, comp_denom=comps_factor)
comps_df <- subset(comps_df, as.character(comps_df$comp_num) != as.character(comps_df$comp_denom))
# All comps
comps_df_all <- comps_df
comps_df_all <- cbind(comp_type="condition",comps_df_all)
comps_df_all <- cbind(comp_no=1:nrow(comps_df_all),comps_df_all)
comps_df_all$comp_name <- paste(comps_df_all$comp_num, "vs", comps_df_all$comp_denom, sep = "-")
comps_df_all$comp <- paste(comps_df_all$comp_num,comps_df_all$comp_denom, sep="-")
write.csv(comps_df_all, file=paste0(output_dir,"comps_all.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_all, file = paste0(output_dir, "comps_all.csv"),
## : attempt to set 'col.names' ignored
comps_all_subset <- comps_df_all[,2:4]
# Unique comps only (for only unique combo)
comps_df_unique <- comps_df[!duplicated(t(apply(comps_df, 1, sort))), ]
comps_df_unique <- cbind(comp_type="condition",comps_df_unique )
comps_df_unique <- cbind(comp_no=1:nrow(comps_df_unique),comps_df_unique)
comps_df_unique$comp_name <- paste(comps_df_unique$comp_num, "vs", comps_df_unique$comp_denom, sep = "-")
comps_df_unique$comp <- paste(comps_df_unique$comp_num,comps_df_unique$comp_denom, sep="-")
write.csv(comps_df_unique, file=paste0(output_dir,"comps_unique.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_unique, file = paste0(output_dir,
## "comps_unique.csv"), : attempt to set 'col.names' ignored
comps_unique_subset <- comps_df_unique[,2:4]
# Comp list to use (all comps)
comps <- comps_df_all
# Results
# mibs_comp_list
# Extract results
subset_limmaRes <- list()
for (i in seq_along(comps$comp)){
subset_limmaRes[[comps$comp[i]]] <-
mibs_comp_list[[paste0(comps$comp[i])]]
}
# save results
for (i in seq_along(subset_limmaRes)) {
write.csv(
subset_limmaRes[[i]],
file = paste0(output_dir_res,"comp_", i, "_", names(subset_limmaRes)[i], ".csv"),
row.names = TRUE
)
}
# Extract comps of interest
coi <- comps_df_all$comp[comps_df_all$comp_denom %in% c("CEv3.starve")]
comp_list_oi <- subset_limmaRes[names(subset_limmaRes) %in% coi]
comp_list_oi <- lapply(comp_list_oi,data.frame)
# Label list of DF
for (i in seq_along(comp_list_oi)){
colnames(comp_list_oi[[i]]) <- paste0(colnames(comp_list_oi[[i]]),"_",names(comp_list_oi)[[i]])
comp_list_oi[[i]]$Gene_ID <- row.names(comp_list_oi[[i]])
}
# Left_join comps of interest to 1x spreadsheet
comp_list_oi_master <- Reduce(function(x, y) left_join(x, y, by="Gene_ID"), comp_list_oi)
row.names(comp_list_oi_master) <- comp_list_oi_master$Gene_ID
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)=="Gene_ID")]
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)%in% paste0(grep("gene_",colnames(comp_list_oi_master), value = T)))]
# Subset to spreadsheets
comp_list_oi_padj <- comp_list_oi_master[,grep("adj.P.Val_", colnames(comp_list_oi_master))]
comp_list_oi_pvalue <- comp_list_oi_master[,grep("P.Value_", colnames(comp_list_oi_master))]
comp_list_oi_l2fc <- comp_list_oi_master[,grep("logFC_", colnames(comp_list_oi_master))]
# Save spreadsheets
write.csv(comp_list_oi_padj, file = paste0(output_dir_res,"All_coi_","padj",".csv"))
write.csv(comp_list_oi_pvalue, file = paste0(output_dir_res,"All_coi_","pvalue",".csv"))
write.csv(comp_list_oi_l2fc, file = paste0(output_dir_res,"All_coi_","l2fc",".csv"))
# Directories for DEP_Bl_par
dir.create(paste0(MIB_graphs,"DEP_Bl_Par"))
dir.create(paste0(MIB_output,"DEP_Bl_Par"))
graph_dir <- paste0(MIB_graphs,"DEP_Bl_Par/")
output_dir <- paste0(MIB_output,"DEP_Bl_Par/")
# Master DEP
# DEP_EDA_mv_ls
# Subseting from the batch corrected imputed normalized values.
# se_mibs_BL_bc
# Subset DEP object
DEP_Bl_Par <- DEP_EDA_bc_ls[["bl_Par"]]
# Save sample sheet
write.csv(data.frame(colData(DEP_Bl_Par)), file=paste0(output_dir,"DEP_Bl_Par",".csv"))
# Save DEP_2019_parental as RDS
saveRDS(DEP_Bl_Par, file = paste0(output_dir,format(Sys.Date(),"%y%m%d"),"_","DEP_Bl_Par",".rds"))
# PCA with all genes
# Create pca object
pcaData <- PCAtools::pca(assay(DEP_Bl_Par), metadata = colData(DEP_Bl_Par))
# Save pca data
write.csv(pcaData$rotated, file =paste0(output_dir,"pcaData",".csv"))
# Set colors
color_vector <-
c(
'CEv3' = 'red',
'E4'='deepskyblue4',
'E5'='turquoise3',
'G1'='purple4',
'G5'='mediumorchid',
'G8'='deeppink',
'G12'='pink2'
)
# plot 5 pricipal components in a pairsplot
pairsplot <- pairsplot(pcaData,
components = getComponents(pcaData, c(1:5)),
triangle = TRUE, trianglelabSize = 12,
hline = 0, vline = 0,
pointSize = 0.4,
gridlines.major = FALSE, gridlines.minor = FALSE,
colby = 'cell_line_abbr',
colkey= color_vector,
title = 'Pairs plot', plotaxes = FALSE,
legendPosition = 'none',
margingaps = unit(c(-0.01, -0.01, -0.01, -0.01), 'cm'))
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
pairsplot
# save graph as PDF
ggsave(
filename = paste0(graph_dir,"pca_","pairsplot", ".pdf"),
plot = pairsplot
)
## Saving 7 x 5 in image
# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
lab = NULL ,
colby = "cell_line_abbr",
colkey= color_vector,
shape = "serum",
legendPosition = 'right' )
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
p1
# save graph as PDF
ggsave(
filename = paste0(graph_dir,"pca_vsd_500_","cell_line",".pdf"),
plot = p1
)
## Saving 7 x 5 in image
# calculate sample euclidian distances
sampleDists <- dist(t(assay(DEP_Bl_Par)))
# plot sample euclidian distances via a heatmap
sampleDistMatrix <- as.matrix( sampleDists )
# Complex Heatmap annotation labels
annotation_col<-
HeatmapAnnotation(df = data.frame(Model = DEP_Bl_Par@colData$cell_line_abbr,
Serum = DEP_Bl_Par@colData$serum,
Sen = DEP_Bl_Par@colData$EGFR_TKI_sen),
col = list(Model =
c(
'C' = 'black',
'CEv3' = 'red',
'E4'='deepskyblue4',
'E5'='turquoise3',
'G1'='purple4',
'G5'='mediumorchid',
'G8'='deeppink',
'G12'='pink2'
),
Serum =
c("full"='firebrick',
"starve"='royalblue'
),
Sen =
c('Resistant'='brown',
'Sensitive'='blue')
))
# Heatmap of euclidian distances
ComplexHeatmap::Heatmap(
sampleDistMatrix,
name = " ",
column_title = "Eculidian Distances",
show_column_names = FALSE,
show_row_names = FALSE,
clustering_distance_rows = "euclidean",
clustering_distance_columns = "euclidean",
clustering_method_rows = "complete",
clustering_method_columns = "complete",
col = colorRampPalette( rev(brewer.pal(9, "Blues")) )(255),
top_annotation = annotation_col
)
# DEP_Bl_Par
# Directories
dir.create(paste0(output_dir,"Heatmap_TVG"))
output_dir_Heatmap_TVG <- paste0(output_dir,"Heatmap_TVG/")
dir.create(paste0(graph_dir,"Heatmap_TVG"))
graph_dir_Heatmap_TVG <- paste0(graph_dir,"Heatmap_TVG/")
# pHeatmap of Top X DEG on transformed data
tvg <- c(100,50,25,10)
topVarGenesX_list <- list()
# pHeatmap of Top X DEG on transformed data
# Extract out distances
mat_list <- list()
for (i in seq_along(tvg)) {
topVarGenesX_list[[paste0(tvg[i])]] <- head( order( rowVars( as.matrix(assay(DEP_Bl_Par)) ), decreasing=TRUE ), tvg[[i]] )
}
for (i in seq_along(tvg)) {
mat_list[[paste0(tvg[i])]] <- assay(DEP_Bl_Par)[ topVarGenesX_list[[i]], ]
}
# Heatmap annotation labels
annotation_col<-
HeatmapAnnotation(df = data.frame(Model = DEP_Bl_Par@colData$cell_line_abbr,
Serum = DEP_Bl_Par@colData$serum,
Sen = DEP_Bl_Par@colData$EGFR_TKI_sen),
col = list(Model =
c(
'C' = 'black',
'CEv3' = 'red',
'E4' = 'deepskyblue4',
'E5' = 'turquoise3',
'G1' = 'purple4',
'G5' = 'mediumorchid',
'G8' = 'deeppink',
'G12' = 'pink2'
),
Serum =
c("full"='firebrick',
"starve"='royalblue'
),
Sen =
c('Resistant'='brown',
'Sensitive'='blue'))
)
# Generate Unlabeled Heatmap
p_list <- list()
for (i in seq_along(mat_list)) {
p_list[[paste0(names(mat_list)[[i]])]] <- ComplexHeatmap::Heatmap(
t(scale(t(mat_list[[i]]))),
top_annotation = annotation_col,
name = " ",
column_title = paste0(names(mat_list)[i],"_TVG"),
show_column_names = F,
show_row_names = F
)
print(p_list[[i]])
}
# Save Heatmap
for (i in seq_along(p_list)) {
pdf(file=paste0(graph_dir_Heatmap_TVG, "CHeatmap_" , names(p_list)[[i]], ".pdf"))
draw(p_list[[i]])
dev.off()
}
# Generate labeled Heatmap
p_list <- list()
for (i in seq_along(mat_list)) {
p_list[[paste0(names(mat_list)[[i]])]] <- ComplexHeatmap::Heatmap(
t(scale(t(mat_list[[i]]))),
#column_order=row.names(DEP_Bl_Par@colData[order(DEP_Bl_Par@colData$cell_line_abbr),]),
top_annotation = annotation_col,
#column_split = factor(DEP_Bl_Par@colData$cell_line_abbr),
name = " ",
column_title = paste0(names(mat_list)[i],"_TVG"),
show_column_names = F,
show_row_names = T
)
print(p_list[[i]])
}
# Save Heatmap
for (i in seq_along(p_list)) {
pdf(file=paste0(graph_dir_Heatmap_TVG, "CHeatmapLabel_" , names(p_list)[[i]], ".pdf"))
draw(p_list[[i]])
dev.off()
}
# Graphics termination
if(!is.null(dev.list())) dev.off()
## null device
## 1
if(!is.null(dev.list())) graphics.off()
# Directory for results
dir.create(paste0(output_dir,"Limma_res"))
output_dir_res <- paste0(output_dir,"Limma_res/")
dir.create(paste0(graph_dir,"Limma_res"))
graph_dir_res <- paste0(graph_dir,"Limma_res/")
# DEP_Bl_Par
# comps
comps_factor <- as.vector(factor(paste0(DEP_Bl_Par$condition)))
comps_df <- crossing(comp_num=comps_factor, comp_denom=comps_factor)
comps_df <- subset(comps_df, as.character(comps_df$comp_num) != as.character(comps_df$comp_denom))
# All comps
comps_df_all <- comps_df
comps_df_all <- cbind(comp_type="condition",comps_df_all)
comps_df_all <- cbind(comp_no=1:nrow(comps_df_all),comps_df_all)
comps_df_all$comp_name <- paste(comps_df_all$comp_num, "vs", comps_df_all$comp_denom, sep = "-")
comps_df_all$comp <- paste(comps_df_all$comp_num,comps_df_all$comp_denom, sep="-")
write.csv(comps_df_all, file=paste0(output_dir,"comps_all.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_all, file = paste0(output_dir, "comps_all.csv"),
## : attempt to set 'col.names' ignored
comps_all_subset <- comps_df_all[,2:4]
# Unique comps only (for only unique combo)
comps_df_unique <- comps_df[!duplicated(t(apply(comps_df, 1, sort))), ]
comps_df_unique <- cbind(comp_type="condition",comps_df_unique )
comps_df_unique <- cbind(comp_no=1:nrow(comps_df_unique),comps_df_unique)
comps_df_unique$comp_name <- paste(comps_df_unique$comp_num, "vs", comps_df_unique$comp_denom, sep = "-")
comps_df_unique$comp <- paste(comps_df_unique$comp_num,comps_df_unique$comp_denom, sep="-")
write.csv(comps_df_unique, file=paste0(output_dir,"comps_unique.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_unique, file = paste0(output_dir,
## "comps_unique.csv"), : attempt to set 'col.names' ignored
comps_unique_subset <- comps_df_unique[,2:4]
# Comp list to use (all comps)
comps <- comps_df_all
# Results
# mibs_comp_list
# Extract results
subset_limmaRes <- list()
for (i in seq_along(comps$comp)){
subset_limmaRes[[comps$comp[i]]] <-
mibs_comp_list[[paste0(comps$comp[i])]]
}
# save results
for (i in seq_along(subset_limmaRes)) {
write.csv(
subset_limmaRes[[i]],
file = paste0(output_dir_res,"comp_", i, "_", names(subset_limmaRes)[i], ".csv"),
row.names = TRUE
)
}
# Extract comps of interest
coi <- comps_df_all$comp[comps_df_all$comp_denom %in% c("C.full","C.starve")]
comp_list_oi <- subset_limmaRes[names(subset_limmaRes) %in% coi]
comp_list_oi <- lapply(comp_list_oi,data.frame)
# Label list of DF
for (i in seq_along(comp_list_oi)){
colnames(comp_list_oi[[i]]) <- paste0(colnames(comp_list_oi[[i]]),"_",names(comp_list_oi)[[i]])
comp_list_oi[[i]]$Gene_ID <- row.names(comp_list_oi[[i]])
}
# Left_join comps of interest to 1x spreadsheet
comp_list_oi_master <- Reduce(function(x, y) left_join(x, y, by="Gene_ID"), comp_list_oi)
row.names(comp_list_oi_master) <- comp_list_oi_master$Gene_ID
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)=="Gene_ID")]
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)%in% paste0(grep("gene_",colnames(comp_list_oi_master), value = T)))]
# Subset to spreadsheets
comp_list_oi_padj <- comp_list_oi_master[,grep("adj.P.Val_", colnames(comp_list_oi_master))]
comp_list_oi_pvalue <- comp_list_oi_master[,grep("P.Value_", colnames(comp_list_oi_master))]
comp_list_oi_l2fc <- comp_list_oi_master[,grep("logFC_", colnames(comp_list_oi_master))]
# Save spreadsheets
write.csv(comp_list_oi_padj, file = paste0(output_dir_res,"All_coi_","padj",".csv"))
write.csv(comp_list_oi_pvalue, file = paste0(output_dir_res,"All_coi_","pvalue",".csv"))
write.csv(comp_list_oi_l2fc, file = paste0(output_dir_res,"All_coi_","l2fc",".csv"))
# Directory for volcano plots
dir.create(paste0(graph_dir,"volcano"))
graph_dir_vol <- paste0(graph_dir,"volcano/")
# Plot Volcano
volcano_plots_ls <- list()
for (i in seq_along(subset_limmaRes)){
plot(volcano_plots_ls[[names(subset_limmaRes)[i]]] <-
EnhancedVolcano(
subset_limmaRes[[i]],
lab=row.names(subset_limmaRes[[i]]),
x="logFC",
y="adj.P.Val",
title= paste0("MIBs ",names(subset_limmaRes)[[i]]),
pCutoff =qval,
FCcutoff =lfc,
pointSize = 2.0,
labSize = 3.0
))}
# Save Volcano
for (i in seq_along(volcano_plots_ls)){
ggsave(filename = paste0(graph_dir_vol,"comp_", i, "_", names(volcano_plots_ls)[[i]],".pdf"), plot=volcano_plots_ls[[i]])
}
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
# Graphics termination
if(!is.null(dev.list())) dev.off()
## null device
## 1
if(!is.null(dev.list())) graphics.off()
# Directories for DEP_BL_Res
dir.create(paste0(MIB_graphs,"DEP_BL_Res"))
dir.create(paste0(MIB_output,"DEP_BL_Res"))
graph_dir <- paste0(MIB_graphs,"DEP_BL_Res/")
output_dir <- paste0(MIB_output,"DEP_BL_Res/")
# Master DEP
# DEP_EDA_mv_ls
# Subseting from the batch corrected imputed normalized values.
# se_mibs_BL_bc
# Subset DEP object
DEP_BL_Res <- DEP_EDA_bc_ls[["bl_Res"]]
# Save sample sheet
write.csv(data.frame(colData(DEP_BL_Res)), file=paste0(output_dir,"DEP_BL_Res",".csv"))
# Save DEP_2019_parental as RDS
saveRDS(DEP_BL_Res, file = paste0(output_dir,format(Sys.Date(),"%y%m%d"),"_","DEP_BL_Res",".rds"))
# PCA with all genes
# Create pca object
pcaData <- PCAtools::pca(assay(DEP_BL_Res), metadata = colData(DEP_BL_Res))
# Save pca data
write.csv(pcaData$rotated, file =paste0(output_dir,"pcaData",".csv"))
# Set colors
color_vector <-
c(
'CEv3' = 'red',
'E4'='deepskyblue4',
'E5'='turquoise3',
'G1'='purple4',
'G5'='mediumorchid',
'G8'='deeppink',
'G12'='pink2'
)
# plot 5 pricipal components in a pairsplot
pairsplot <- pairsplot(pcaData,
components = getComponents(pcaData, c(1:5)),
triangle = TRUE, trianglelabSize = 12,
hline = 0, vline = 0,
pointSize = 0.4,
gridlines.major = FALSE, gridlines.minor = FALSE,
colby = 'cell_line_abbr',
colkey= color_vector,
title = 'Pairs plot', plotaxes = FALSE,
legendPosition = 'none',
margingaps = unit(c(-0.01, -0.01, -0.01, -0.01), 'cm'))
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.
pairsplot
# save graph as PDF
ggsave(
filename = paste0(graph_dir,"pca_","pairsplot", ".pdf"),
plot = pairsplot
)
## Saving 7 x 5 in image
# PCA 1
p1 <- biplot(pcaData, x = "PC1", y = "PC2",
lab = NULL ,
colby = "cell_line_abbr",
colkey= color_vector,
shape = "serum",
legendPosition = 'right' )
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
p1
# save graph as PDF
ggsave(
filename = paste0(graph_dir,"pca_vsd_500_","cell_line",".pdf"),
plot = p1
)
## Saving 7 x 5 in image
# calculate sample euclidian distances
sampleDists <- dist(t(assay(DEP_BL_Res)))
# plot sample euclidian distances via a heatmap
sampleDistMatrix <- as.matrix( sampleDists )
# Complex Heatmap annotation labels
annotation_col<-
HeatmapAnnotation(df = data.frame(Model = DEP_BL_Res@colData$cell_line_abbr,
Serum = DEP_BL_Res@colData$serum,
Sen = DEP_BL_Res@colData$EGFR_TKI_sen),
col = list(Model =
c(
'CEv3' = 'red',
'E4'='deepskyblue4',
'E5'='turquoise3',
'G1'='purple4',
'G5'='mediumorchid',
'G8'='deeppink',
'G12'='pink2'
),
Serum =
c("full"='firebrick',
"starve"='royalblue'
),
Sen =
c('Resistant'='brown',
'Sensitive'='blue')
))
# Heatmap of euclidian distances
ComplexHeatmap::Heatmap(
sampleDistMatrix,
name = " ",
column_title = "Eculidian Distances",
show_column_names = FALSE,
show_row_names = FALSE,
clustering_distance_rows = "euclidean",
clustering_distance_columns = "euclidean",
clustering_method_rows = "complete",
clustering_method_columns = "complete",
col = colorRampPalette( rev(brewer.pal(9, "Blues")) )(255),
top_annotation = annotation_col
)
# DEP_BL_Res
# Directories
dir.create(paste0(output_dir,"Heatmap_TVG"))
output_dir_Heatmap_TVG <- paste0(output_dir,"Heatmap_TVG/")
dir.create(paste0(graph_dir,"Heatmap_TVG"))
graph_dir_Heatmap_TVG <- paste0(graph_dir,"Heatmap_TVG/")
# pHeatmap of Top X DEG on transformed data
tvg <- c(100,50,25,10)
topVarGenesX_list <- list()
# pHeatmap of Top X DEG on transformed data
# Extract out distances
mat_list <- list()
for (i in seq_along(tvg)) {
topVarGenesX_list[[paste0(tvg[i])]] <- head( order( rowVars( as.matrix(assay(DEP_BL_Res)) ), decreasing=TRUE ), tvg[[i]] )
}
for (i in seq_along(tvg)) {
mat_list[[paste0(tvg[i])]] <- assay(DEP_BL_Res)[ topVarGenesX_list[[i]], ]
}
# Heatmap annotation labels
annotation_col<-
HeatmapAnnotation(df = data.frame(Model = DEP_BL_Res@colData$cell_line_abbr,
Serum = DEP_BL_Res@colData$serum,
Sen = DEP_BL_Res@colData$EGFR_TKI_sen),
col = list(Model =
c(
'CEv3' = 'red',
'E4' = 'deepskyblue4',
'E5' = 'turquoise3',
'G1' = 'purple4',
'G5' = 'mediumorchid',
'G8' = 'deeppink',
'G12' = 'pink2'
),
Serum =
c("full"='firebrick',
"starve"='royalblue'
),
Sen =
c('Resistant'='brown',
'Sensitive'='blue'))
)
# Generate Unlabeled Heatmap
p_list <- list()
for (i in seq_along(mat_list)) {
p_list[[paste0(names(mat_list)[[i]])]] <- ComplexHeatmap::Heatmap(
t(scale(t(mat_list[[i]]))),
top_annotation = annotation_col,
name = " ",
column_title = paste0(names(mat_list)[i],"_TVG"),
show_column_names = F,
show_row_names = F
)
print(p_list[[i]])
}
# Save Heatmap
for (i in seq_along(p_list)) {
pdf(file=paste0(graph_dir_Heatmap_TVG, "CHeatmap_" , names(p_list)[[i]], ".pdf"))
draw(p_list[[i]])
dev.off()
}
# Generate labeled Heatmap
p_list <- list()
for (i in seq_along(mat_list)) {
p_list[[paste0(names(mat_list)[[i]])]] <- ComplexHeatmap::Heatmap(
t(scale(t(mat_list[[i]]))),
#column_order=row.names(DEP_BL_Res@colData[order(DEP_BL_Res@colData$cell_line_abbr),]),
top_annotation = annotation_col,
#column_split = factor(DEP_BL_Res@colData$cell_line_abbr),
name = " ",
column_title = paste0(names(mat_list)[i],"_TVG"),
show_column_names = F,
show_row_names = T
)
print(p_list[[i]])
}
# Save Heatmap
for (i in seq_along(p_list)) {
pdf(file=paste0(graph_dir_Heatmap_TVG, "CHeatmapLabel_" , names(p_list)[[i]], ".pdf"))
draw(p_list[[i]])
dev.off()
}
# Graphics termination
if(!is.null(dev.list())) dev.off()
## null device
## 1
if(!is.null(dev.list())) graphics.off()
# Directory for results
dir.create(paste0(output_dir,"Limma_res"))
output_dir_res <- paste0(output_dir,"Limma_res/")
dir.create(paste0(graph_dir,"Limma_res"))
graph_dir_res <- paste0(graph_dir,"Limma_res/")
# DEP_BL_Res
# comps
comps_factor <- as.vector(factor(paste0(DEP_BL_Res$condition)))
comps_df <- crossing(comp_num=comps_factor, comp_denom=comps_factor)
comps_df <- subset(comps_df, as.character(comps_df$comp_num) != as.character(comps_df$comp_denom))
# All comps
comps_df_all <- comps_df
comps_df_all <- cbind(comp_type="condition",comps_df_all)
comps_df_all <- cbind(comp_no=1:nrow(comps_df_all),comps_df_all)
comps_df_all$comp_name <- paste(comps_df_all$comp_num, "vs", comps_df_all$comp_denom, sep = "-")
comps_df_all$comp <- paste(comps_df_all$comp_num,comps_df_all$comp_denom, sep="-")
write.csv(comps_df_all, file=paste0(output_dir,"comps_all.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_all, file = paste0(output_dir, "comps_all.csv"),
## : attempt to set 'col.names' ignored
comps_all_subset <- comps_df_all[,2:4]
# Unique comps only (for only unique combo)
comps_df_unique <- comps_df[!duplicated(t(apply(comps_df, 1, sort))), ]
comps_df_unique <- cbind(comp_type="condition",comps_df_unique )
comps_df_unique <- cbind(comp_no=1:nrow(comps_df_unique),comps_df_unique)
comps_df_unique$comp_name <- paste(comps_df_unique$comp_num, "vs", comps_df_unique$comp_denom, sep = "-")
comps_df_unique$comp <- paste(comps_df_unique$comp_num,comps_df_unique$comp_denom, sep="-")
write.csv(comps_df_unique, file=paste0(output_dir,"comps_unique.csv"), col.names = T, row.names = F)
## Warning in write.csv(comps_df_unique, file = paste0(output_dir,
## "comps_unique.csv"), : attempt to set 'col.names' ignored
comps_unique_subset <- comps_df_unique[,2:4]
# Comp list to use (all comps)
comps <- comps_df_all
# Results
# mibs_comp_list
# Extract results
subset_limmaRes <- list()
for (i in seq_along(comps$comp)){
subset_limmaRes[[comps$comp[i]]] <-
mibs_comp_list[[paste0(comps$comp[i])]]
}
# save results
for (i in seq_along(subset_limmaRes)) {
write.csv(
subset_limmaRes[[i]],
file = paste0(output_dir_res,"comp_", i, "_", names(subset_limmaRes)[i], ".csv"),
row.names = TRUE
)
}
# Extract comps of interest
coi <- comps_df_all$comp[comps_df_all$comp_denom %in% c("C.full","C.starve")]
comp_list_oi <- subset_limmaRes[names(subset_limmaRes) %in% coi]
comp_list_oi <- lapply(comp_list_oi,data.frame)
# Label list of DF
for (i in seq_along(comp_list_oi)){
colnames(comp_list_oi[[i]]) <- paste0(colnames(comp_list_oi[[i]]),"_",names(comp_list_oi)[[i]])
comp_list_oi[[i]]$Gene_ID <- row.names(comp_list_oi[[i]])
}
# Left_join comps of interest to 1x spreadsheet
comp_list_oi_master <- Reduce(function(x, y) left_join(x, y, by="Gene_ID"), comp_list_oi)
row.names(comp_list_oi_master) <- comp_list_oi_master$Gene_ID
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)=="Gene_ID")]
comp_list_oi_master <- comp_list_oi_master[,-which(colnames(comp_list_oi_master)%in% paste0(grep("gene_",colnames(comp_list_oi_master), value = T)))]
# Subset to spreadsheets
comp_list_oi_padj <- comp_list_oi_master[,grep("adj.P.Val_", colnames(comp_list_oi_master))]
comp_list_oi_pvalue <- comp_list_oi_master[,grep("P.Value_", colnames(comp_list_oi_master))]
comp_list_oi_l2fc <- comp_list_oi_master[,grep("logFC_", colnames(comp_list_oi_master))]
# Save spreadsheets
write.csv(comp_list_oi_padj, file = paste0(output_dir_res,"All_coi_","padj",".csv"))
write.csv(comp_list_oi_pvalue, file = paste0(output_dir_res,"All_coi_","pvalue",".csv"))
write.csv(comp_list_oi_l2fc, file = paste0(output_dir_res,"All_coi_","l2fc",".csv"))
# Directory for volcano plots
dir.create(paste0(graph_dir,"volcano"))
graph_dir_vol <- paste0(graph_dir,"volcano/")
# Plot Volcano
volcano_plots_ls <- list()
for (i in seq_along(subset_limmaRes)){
plot(volcano_plots_ls[[names(subset_limmaRes)[i]]] <-
EnhancedVolcano(
subset_limmaRes[[i]],
lab=row.names(subset_limmaRes[[i]]),
x="logFC",
y="adj.P.Val",
title= paste0("MIBs ",names(subset_limmaRes)[[i]]),
pCutoff =qval,
FCcutoff =lfc,
pointSize = 2.0,
labSize = 3.0
))}
# Save Volcano
for (i in seq_along(volcano_plots_ls)){
ggsave(filename = paste0(graph_dir_vol,"comp_", i, "_", names(volcano_plots_ls)[[i]],".pdf"), plot=volcano_plots_ls[[i]])
}
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
## Saving 7 x 5 in image
# Graphics termination
if(!is.null(dev.list())) dev.off()
## null device
## 1
if(!is.null(dev.list())) graphics.off()
sessionInfo()
## R version 4.3.2 (2023-10-31)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 22.04.4 LTS
##
## Matrix products: default
## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so; LAPACK version 3.10.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## time zone: Etc/UTC
## tzcode source: system (glibc)
##
## attached base packages:
## [1] parallel grid stats4 stats graphics grDevices utils
## [8] datasets methods base
##
## other attached packages:
## [1] factoextra_1.0.7 cluster_2.1.8
## [3] gtools_3.9.5 limma_3.58.1
## [5] DEP_1.24.0 PCAtools_2.14.0
## [7] ggpubr_0.6.0 gprofiler2_0.2.3
## [9] vsn_3.70.0 ComplexHeatmap_2.18.0
## [11] UpSetR_1.4.0 msigdbr_7.5.1
## [13] GSVA_1.50.5 RSQLite_2.3.9
## [15] rmarkdown_2.29 gplots_3.2.0
## [17] EnhancedVolcano_1.20.0 ggrepel_0.9.6
## [19] org.Hs.eg.db_3.18.0 AnnotationDbi_1.64.1
## [21] BiocParallel_1.36.0 lubridate_1.9.4
## [23] forcats_1.0.0 stringr_1.5.1
## [25] purrr_1.0.4 readr_2.1.5
## [27] tidyr_1.3.1 tidyverse_2.0.0
## [29] pheatmap_1.0.12 RColorBrewer_1.1-3
## [31] colorRamps_2.3.4 cowplot_1.1.3
## [33] gridExtra_2.3 scales_1.3.0
## [35] ggplot2_3.5.1 DESeq2_1.42.1
## [37] SummarizedExperiment_1.32.0 MatrixGenerics_1.14.0
## [39] matrixStats_1.5.0 tximport_1.30.0
## [41] Biobase_2.62.0 dplyr_1.1.4
## [43] biomaRt_2.58.2 rtracklayer_1.62.0
## [45] GenomicRanges_1.54.1 GenomeInfoDb_1.38.8
## [47] IRanges_2.36.0 S4Vectors_0.40.2
## [49] BiocGenerics_0.48.1 tibble_3.2.1
##
## loaded via a namespace (and not attached):
## [1] ProtGenerics_1.34.0 bitops_1.0-9
## [3] httr_1.4.7 doParallel_1.0.17
## [5] tools_4.3.2 MSnbase_2.28.1
## [7] backports_1.5.0 DT_0.33
## [9] R6_2.6.1 HDF5Array_1.30.1
## [11] lazyeval_0.2.2 rhdf5filters_1.14.1
## [13] GetoptLong_1.0.5 withr_3.0.2
## [15] prettyunits_1.2.0 preprocessCore_1.64.0
## [17] textshaping_1.0.0 cli_3.6.4
## [19] sandwich_3.1-1 labeling_0.4.3
## [21] sass_0.4.9 mvtnorm_1.3-3
## [23] systemfonts_1.2.1 Rsamtools_2.18.0
## [25] rstudioapi_0.17.1 impute_1.76.0
## [27] generics_0.1.3 shape_1.4.6.1
## [29] BiocIO_1.12.0 car_3.1-3
## [31] Matrix_1.6-5 MALDIquant_1.22.3
## [33] imputeLCMD_2.1 abind_1.4-8
## [35] lifecycle_1.0.4 yaml_2.3.10
## [37] carData_3.0-5 rhdf5_2.46.1
## [39] SparseArray_1.2.4 BiocFileCache_2.10.2
## [41] blob_1.2.4 promises_1.3.2
## [43] dqrng_0.4.1 crayon_1.5.3
## [45] shinydashboard_0.7.2 lattice_0.22-6
## [47] beachmat_2.18.1 annotate_1.80.0
## [49] mzR_2.36.0 KEGGREST_1.42.0
## [51] pillar_1.10.1 knitr_1.49
## [53] rjson_0.2.23 codetools_0.2-20
## [55] glue_1.8.0 pcaMethods_1.94.0
## [57] data.table_1.16.4 vctrs_0.6.5
## [59] png_0.1-8 gtable_0.3.6
## [61] assertthat_0.2.1 cachem_1.1.0
## [63] xfun_0.51 mime_0.12
## [65] S4Arrays_1.2.1 ncdf4_1.23
## [67] SingleCellExperiment_1.24.0 iterators_1.0.14
## [69] gmm_1.8 statmod_1.5.0
## [71] bit64_4.6.0-1 progress_1.2.3
## [73] filelock_1.0.3 bslib_0.9.0
## [75] affyio_1.72.0 tmvtnorm_1.6
## [77] irlba_2.3.5.1 KernSmooth_2.23-26
## [79] colorspace_2.1-1 DBI_1.2.3
## [81] tidyselect_1.2.1 bit_4.5.0.1
## [83] compiler_4.3.2 curl_6.2.0
## [85] graph_1.80.0 xml2_1.3.6
## [87] DelayedArray_0.28.0 plotly_4.10.4
## [89] caTools_1.18.3 affy_1.80.0
## [91] rappdirs_0.3.3 digest_0.6.37
## [93] XVector_0.42.0 htmltools_0.5.8.1
## [95] pkgconfig_2.0.3 sparseMatrixStats_1.14.0
## [97] dbplyr_2.5.0 fastmap_1.2.0
## [99] rlang_1.1.5 GlobalOptions_0.1.2
## [101] htmlwidgets_1.6.4 shiny_1.10.0
## [103] DelayedMatrixStats_1.24.0 farver_2.1.2
## [105] jquerylib_0.1.4 zoo_1.8-13
## [107] jsonlite_1.9.0 mzID_1.40.0
## [109] BiocSingular_1.18.0 RCurl_1.98-1.16
## [111] magrittr_2.0.3 Formula_1.2-5
## [113] GenomeInfoDbData_1.2.11 Rhdf5lib_1.24.2
## [115] munsell_0.5.1 Rcpp_1.0.14
## [117] babelgene_22.9 MsCoreUtils_1.14.1
## [119] stringi_1.8.4 zlibbioc_1.48.2
## [121] MASS_7.3-60 plyr_1.8.9
## [123] Biostrings_2.70.3 hms_1.1.3
## [125] circlize_0.4.16 locfit_1.5-9.11
## [127] ggsignif_0.6.4 reshape2_1.4.4
## [129] ScaledMatrix_1.10.0 XML_3.99-0.18
## [131] evaluate_1.0.3 BiocManager_1.30.25
## [133] httpuv_1.6.15 tzdb_0.4.0
## [135] foreach_1.5.2 clue_0.3-66
## [137] norm_1.0-11.1 rsvd_1.0.5
## [139] broom_1.0.7 xtable_1.8-4
## [141] restfulr_0.0.15 later_1.4.1
## [143] rstatix_0.7.2 ragg_1.3.3
## [145] viridisLite_0.4.2 memoise_2.0.1
## [147] GenomicAlignments_1.38.2 timechange_0.3.0
## [149] GSEABase_1.64.0
proc.time() - ptm
## user system elapsed
## 647.188 3.120 743.806